<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-us" xml:lang="en-us">
<head>
  <meta charset="utf-8" />
  <meta name="generator" content="pandoc" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
  <title>tr-106-1-2-0.xml</title>
  <style>
    code{white-space: pre-wrap;}
    span.smallcaps{font-variant: small-caps;}
    div.columns{display: flex; gap: min(4vw, 1.5em);}
    div.column{flex: auto; overflow-x: auto;}
    div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
    /* The extra [class] is a hack that increases specificity enough to
       override a similar rule in reveal.js */
    ul.task-list[class]{list-style: none;}
    ul.task-list li input[type="checkbox"] {
      font-size: inherit;
      width: 0.8em;
      margin: 0 0.8em 0.2em -1.6em;
      vertical-align: middle;
    }
  </style>
  <!-- Sidebar ToC styles -->

  <style>
  @media screen and (min-width: 60em) {
      body {
          display: flex;
          align-items: stretch;
          margin: 0px;
          /* XXX this is experimental; may need to insert zero-width spaces */
          overflow-wrap: break-word;
      }

      #main {
          flex: 4 2 auto;
          overflow: auto;
          order: 2;
          padding: 5px;
      }

      #TOC {
          position: sticky;
          order: 1;
          flex: 1 0 auto;
          margin: 0 0;
          top: 0px;
          left: 0px;
          height: 100vh;
          line-height: 1.4;
          resize: horizontal;
          font-size: larger;
          overflow: auto;
          border-right: 1px solid #73AD21;
          padding: 5px;
          max-width: 20%;
      }

      #TOC ul {
          margin: 0.35em 0;
          padding: 0 0 0 1em;
          list-style-type: none;
      }

      #TOC ul ul {
          margin: 0.25em 0;
      }

      #TOC ul ul ul {
          margin: 0.15em 0;
      }

      #TOC {
          z-index: 1;
      }
  }
  </style>

  <!-- ToC expansion and contraction script -->

  <script>
  window.addEventListener('DOMContentLoaded', function() {
      var expandables = document.getElementsByClassName('expandable');
      for (i = 0; i < expandables.length; i++) {
          expandables[i].addEventListener('click', function() {
              this.parentElement.querySelector('.collapsed').classList
                  .toggle('expanded');
              this.classList.toggle('collapsible');
          });
      }
  });
  </script>

  <!-- ToC expansion and contraction styles -->

  <style>
  .expandable {
      cursor: pointer;
      user-select: none;
      display: list-item;
      /* Circled Plus + non-breakable space */
      list-style-type: "\2295\A0";
  }

  .collapsible {
      /* Circled Minus + non-breakable space */
      list-style-type: "\2296\A0";
  }

  .collapsed {
      display: none;
  }

  .expanded {
      display: grid; /* needed by the 'order' property */
  }
  </style>

  <!-- ToC sorting script (works for object names and profile headers) -->

  <script>
  window.addEventListener('DOMContentLoaded', function() {
      /* 'A.B.' -> {prefix: '', name: 'A.B.', 'version': ''}
         '_Baseline:1' -> {prefix: '_', name: 'Baseline', version: '1'} */
      var regex = /^(?<prefix>_?)(?<name>[^:]*)(:?)(?<version>\d*)/;
      var lists = document.getElementsByClassName('ordered');
      for (var i = 0; i < lists.length; i++) {
          var items = lists[i].children;
          var temp = [];
          for (var j = 0; j < items.length; j++) {
              /* this assumes that the first child contains the text */
              temp.push([j, items[j].children[0].innerText]);
          }
          temp.sort((a, b) => {
              /* 'Notation' (which is used for profiles) must come first */
              var a1 = a[1] == 'Notation' ? ' Notation' : a[1];
              var b1 = b[1] == 'Notation' ? ' Notation' : b[1];
              var a1_groups = a1.match(regex).groups;
              var b1_groups = b1.match(regex).groups;
              var a1_tuple =  [
                  a1_groups.name.toLowerCase() + (a1_groups.prefix || '~'),
                  parseInt(a1_groups.version || 0)];
              var b1_tuple =  [
                  b1_groups.name.toLowerCase() + (b1_groups.prefix || '~'),
                  parseInt(b1_groups.version || 0)];
              return a1_tuple < b1_tuple ? -1 : a1_tuple > b1_tuple ? 1 : 0;
          });
          temp.forEach((order_text, j) => {
              var k = order_text[0];
              items[k].style.order = j;
          });
      }
  });
  </script>

  <!-- Automatic title generation (from anchor ids) script
       XXX only works for non-deprecated object parameters and doesn't
           show correct full paths; should get rid of it? -->

  <script>
  window.addEventListener('DOMContentLoaded', function() {
      var pars = document.getElementsByClassName('parameter');
      var regex = /\w\.\w+:[0-9.]+\./;
      for (var i = 0; i < pars.length; i++) {
          if (pars[i].firstElementChild && pars[i].firstElementChild.
                  firstElementChild) {
              pars[i].firstElementChild.title =
                  pars[i].firstElementChild.firstElementChild.id.
                  replace(regex, '');
          }
      }
  });
  </script>

  <!-- Automatic on-hover link generation script -->

  <script>
  window.addEventListener('DOMContentLoaded', function() {
      var hoverlink = null;

      var anchors = document.querySelectorAll('td span[id]:not(:empty)');
      for (var i = 0; i < anchors.length; i++) {
        var cell = anchors[i].parentElement;

        cell.addEventListener('mouseenter', event => {
          var target = event.target;
          var anchor = target.querySelector('span[id]:not(:empty)');

          /* derive the item type from the row's first class item,
           * which might have a leading 'deprecated-' etc. and
           * might also contain additional hyphens */
          var itemType = (target.parentElement.classList.item(0) || 'item').
              replace(/^\w+-/, '').replace(/-/g, ' ');

          if (hoverlink) {
            hoverlink.remove();
            hoverlink = null;
          }

          hoverlink = document.createElement('a');
          hoverlink.href = '#' + anchor.id;
          hoverlink.className = 'hoverlink';
          hoverlink.title = 'Permalink to this ' + itemType;
          target.appendChild(hoverlink);
        });

        cell.addEventListener('mouseleave', () => {
          if (hoverlink) {
            hoverlink.remove();
            hoverlink = null;
          }
        });
      }
  });
  </script>

  <!-- Hoverlink styles -->

  <style>
  :root {
      --hoverlink-size: 0.9em;
  }

  .hoverlink {
      text-decoration: none;
  }

  .hoverlink::after {
      position: absolute;
      display: inline-block;
      content: "";
      width: var(--hoverlink-size);
      height: var(--hoverlink-size);
      background-size: var(--hoverlink-size) var(--hoverlink-size);
      background-image: url();
  }
  </style>

  <!-- Table body expansion and contraction script -->

  <script>
  window.addEventListener('DOMContentLoaded', function() {
      var showables = document.getElementsByClassName('showable');
      for (var i = 0; i < showables.length; i++) {
          var showable = showables[i];
          showable.addEventListener('click', function() {
              this.classList.toggle('show');
          });
      }

      showables = document.getElementsByClassName('showable2');
      for (var i = 0; i < showables.length; i++) {
          var showable = showables[i];
          showable.addEventListener('click', function(event) {
              this.classList.toggle('show2');
              event.stopPropagation();
          });
      }
  });
  </script>

  <!-- Table body expansion and contraction styles -->

  <style>
  .chevron {
      color: var(--link-color);
      cursor: pointer;
  }

  .chevron::before {
      /* Single Right-Pointing Angle Quotation Mark */
      content: "\00203A ";
  }

  .chevron .click::after {
      content: " Click to show/hide...";
  }

  .hide {
      display: none;
  }

  .show tr {
      display: table-row;
  }

  .show td div, .show ul, .show ol {
      display: block;
  }

  .show td span {
      display: inline;
  }

  .show2 *.hide {
      display: none;
  }

  </style>

  <!-- Global styles (that affect the entire document) -->

  <style>
  /* light mode support */
  @media (prefers-color-scheme: light) {
    :root {
      --background-color: white;
      --foreground-color: black;
      --diff-background-color: aliceblue;
      --link-color: blue;
      --parameter-color: white;
      --object-color: #ffff99;
      --command-color: #66cdaa;
      --event-color: #66cdaa;
      --argument-container-color: silver;
      --argument-object-color: pink;
      --argument-parameter-color: #ffe4e1;
      --mountable-object-color: #b3e0ff;
      --mountpoint-object-color: #4db8ff;
      --stripe-direction: 90deg;
      --stripe-stop-point-1: 1%;
      --stripe-stop-point-2: 2%;
      --stripe-color-deprecated: #eeeeee;
      --stripe-color-obsoleted: #dddddd;
      --stripe-color-deleted: #cccccc;
    }
  }

  /* dark mode support */
  @media (prefers-color-scheme: dark) {
    :root {
      --background-color: black;
      --foreground-color: white;
      --diff-background-color: #0f0700;
      --link-color: lightblue;
      --parameter-color: black;
      --object-color: #bbbb44;
      --command-color: #56bd9a;
      --event-color: #56bd9a;
      --argument-container-color: #777777;
      --argument-object-color: #dfa0ab;
      --argument-parameter-color: #bfa4a1;
      --mountable-object-color: #b3e0ff;
      --mountpoint-object-color: #3da8ef;
      --stripe-color-deprecated: #555555;
      --stripe-color-obsoleted: #444444;
      --stripe-color-deleted: #333333;
    }
    .hoverlink {
      filter: invert(1);
    }
  }

  body, table {
      background-color: var(--background-color);
      color: var(--foreground-color);
      font-family: helvetica, arial, sans-serif;
      font-size: 9pt;
  }

  h1 {
      font-size: 14pt;
  }

  h2 {
      font-size: 12pt;
  }

  h3 {
      font-size: 10pt;
  }

  a:link, a:visited {
      color: var(--link-color);
  }

  sup {
      vertical-align: super;
  }

  table {
      text-align: left;
      vertical-align: top;
  }

  td, th {
      padding: 2px;
      text-align: left;
      vertical-align: top;
  }

  /* this is intended for hoverlinks */
  td span {
      padding-right: 2px;
  }

  table.middle-width {
      width: 60%;
  }

  table.full-width {
      width: 100%;
  }

  thead th {
      background-color: #999999;
  }

  table.partial-border {
      border-left-style: hidden;
      border-right-style: hidden;
      border-collapse: collapse;
  }

  table.partial-border th,
  table.partial-border td {
      border-style: solid;
      border-width: 1px;
      border-color: lightgray;
  }

  td > div,
  td > p {
      margin-block-start: 0;
      margin-block-end: 1em;
  }

  td > div:last-of-type,
  td > p:last-of-type {
      margin-block-end: 0;
  }

  .centered {
      text-align: center;
  }

  .inserted {
      color: blue;
  }

  .removed {
      color: red;
      text-decoration: line-through;
  }

  /* XXX this is a bad name */
  .diffs {
      background-color: var(--diff-background-color);
      opacity: 0.8;
  }

  .parameter {
      background-color: var(--parameter-color);
  }

  .deprecated-parameter {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--parameter-color),
          var(--parameter-color) var(--stripe-stop-point-1),
          var(--stripe-color-deprecated) var(--stripe-stop-point-1),
          var(--stripe-color-deprecated) var(--stripe-stop-point-2));
  }

  .obsoleted-parameter {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--parameter-color),
          var(--parameter-color) var(--stripe-stop-point-1),
          var(--stripe-color-obsoleted) var(--stripe-stop-point-1),
          var(--stripe-color-obsoleted) var(--stripe-stop-point-2));
  }

  .deleted-parameter {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--parameter-color),
          var(--parameter-color) var(--stripe-stop-point-1),
          var(--stripe-color-deleted) var(--stripe-stop-point-1),
          var(--stripe-color-deleted) var(--stripe-stop-point-2));
  }

  .object {
      background-color: var(--object-color);
  }

  .deprecated-object {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--object-color),
          var(--object-color) var(--stripe-stop-point-1),
          var(--stripe-color-deprecated) var(--stripe-stop-point-1),
          var(--stripe-color-deprecated) var(--stripe-stop-point-2));
  }

  .obsoleted-object {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--object-color),
          var(--object-color) var(--stripe-stop-point-1),
          var(--stripe-color-obsoleted) var(--stripe-stop-point-1),
          var(--stripe-color-obsoleted) var(--stripe-stop-point-2));
  }

  .deleted-object {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--object-color),
          var(--object-color) var(--stripe-stop-point-1),
          var(--stripe-color-deleted) var(--stripe-stop-point-1),
          var(--stripe-color-deleted) var(--stripe-stop-point-2));
  }

  .command {
      background-color: var(--command-color);
  }

  .deprecated-command {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--command-color),
          var(--command-color) var(--stripe-stop-point-1),
          var(--stripe-color-deprecated) var(--stripe-stop-point-1),
          var(--stripe-color-deprecated) var(--stripe-stop-point-2));
  }

  .obsoleted-command {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--command-color),
          var(--command-color) var(--stripe-stop-point-1),
          var(--stripe-color-obsoleted) var(--stripe-stop-point-1),
          var(--stripe-color-obsoleted) var(--stripe-stop-point-2));
  }

  .deleted-command {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--command-color),
          var(--command-color) var(--stripe-stop-point-1),
          var(--stripe-color-deleted) var(--stripe-stop-point-1),
          var(--stripe-color-deleted) var(--stripe-stop-point-2));
  }

  .event {
      background-color: var(--event-color);
  }

  .deprecated-event {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--event-color),
          var(--event-color) var(--stripe-stop-point-1),
          var(--stripe-color-deprecated) var(--stripe-stop-point-1),
          var(--stripe-color-deprecated) var(--stripe-stop-point-2));
  }

  .obsoleted-event {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--event-color),
          var(--event-color) var(--stripe-stop-point-1),
          var(--stripe-color-obsoleted) var(--stripe-stop-point-1),
          var(--stripe-color-obsoleted) var(--stripe-stop-point-2));
  }

  .deleted-event {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--event-color),
          var(--event-color) var(--stripe-stop-point-1),
          var(--stripe-color-deleted) var(--stripe-stop-point-1),
          var(--stripe-color-deleted) var(--stripe-stop-point-2));
  }

  .argument-container {
      background-color: var(--argument-container-color);
  }

  .deprecated-argument-container {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--argument-container-color),
          var(--argument-container-color) var(--stripe-stop-point-1),
          var(--stripe-color-deprecated) var(--stripe-stop-point-1),
          var(--stripe-color-deprecated) var(--stripe-stop-point-2));
  }

  .obsoleted-argument-container {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--argument-container-color),
          var(--argument-container-color) var(--stripe-stop-point-1),
          var(--stripe-color-obsoleted) var(--stripe-stop-point-1),
          var(--stripe-color-obsoleted) var(--stripe-stop-point-2));
  }

  .deleted-argument-container {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--argument-container-color),
          var(--argument-container-color) var(--stripe-stop-point-1),
          var(--stripe-color-deleted) var(--stripe-stop-point-1),
          var(--stripe-color-deleted) var(--stripe-stop-point-2));
  }

  .argument-parameter {
      background-color: var(--argument-parameter-color);
  }

  .deprecated-argument-parameter {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--argument-parameter-color),
          var(--argument-parameter-color) var(--stripe-stop-point-1),
          var(--stripe-color-deprecated) var(--stripe-stop-point-1),
          var(--stripe-color-deprecated) var(--stripe-stop-point-2));
  }

  .obsoleted-argument-parameter {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--argument-parameter-color),
          var(--argument-parameter-color) var(--stripe-stop-point-1),
          var(--stripe-color-obsoleted) var(--stripe-stop-point-1),
          var(--stripe-color-obsoleted) var(--stripe-stop-point-2));
  }

  .deleted-argument-parameter {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--argument-parameter-color),
          var(--argument-parameter-color) var(--stripe-stop-point-1),
          var(--stripe-color-deleted) var(--stripe-stop-point-1),
          var(--stripe-color-deleted) var(--stripe-stop-point-2));
  }

  .argument-object {
      background-color: var(--argument-object-color);
  }

  .deprecated-argument-object {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--argument-object-color),
          var(--argument-object-color) var(--stripe-stop-point-1),
          var(--stripe-color-deprecated) var(--stripe-stop-point-1),
          var(--stripe-color-deprecated) var(--stripe-stop-point-2));
  }

  .obsoleted-argument-object {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--argument-object-color),
          var(--argument-object-color) var(--stripe-stop-point-1),
          var(--stripe-color-obsoleted) var(--stripe-stop-point-1),
          var(--stripe-color-obsoleted) var(--stripe-stop-point-2));
  }

  .deleted-argument-object {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--argument-object-color),
          var(--argument-object-color) var(--stripe-stop-point-1),
          var(--stripe-color-deleted) var(--stripe-stop-point-1),
          var(--stripe-color-deleted) var(--stripe-stop-point-2));
  }

  .mountable-object {
      background-color: var(--mountable-object-color);
  }

  .deprecated-mountable-object {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--mountable-object-color),
          var(--mountable-object-color) var(--stripe-stop-point-1),
          var(--stripe-color-deprecated) var(--stripe-stop-point-1),
          var(--stripe-color-deprecated) var(--stripe-stop-point-2));
  }

  .obsoleted-mountable-object {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--mountable-object-color),
          var(--mountable-object-color) var(--stripe-stop-point-1),
          var(--stripe-color-obsoleted) var(--stripe-stop-point-1),
          var(--stripe-color-obsoleted) var(--stripe-stop-point-2));
  }

  .deleted-mountable-object {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--mountable-object-color),
          var(--mountable-object-color) var(--stripe-stop-point-1),
          var(--stripe-color-deleted) var(--stripe-stop-point-1),
          var(--stripe-color-deleted) var(--stripe-stop-point-2));
  }

  .mountpoint-object {
      background-color: var(--mountpoint-object-color);
  }

  .deprecated-mountpoint-object {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--mountpoint-object-color),
          var(--mountpoint-object-color) var(--stripe-stop-point-1),
          var(--stripe-color-deprecated) var(--stripe-stop-point-1),
          var(--stripe-color-deprecated) var(--stripe-stop-point-2));
  }

  .obsoleted-mountpoint-object {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--mountpoint-object-color),
          var(--mountpoint-object-color) var(--stripe-stop-point-1),
          var(--stripe-color-obsoleted) var(--stripe-stop-point-1),
          var(--stripe-color-obsoleted) var(--stripe-stop-point-2));
  }

  .deleted-mountpoint-object {
      background-image: repeating-linear-gradient(
          var(--stripe-direction),
          var(--mountpoint-object-color),
          var(--mountpoint-object-color) var(--stripe-stop-point-1),
          var(--stripe-color-deleted) var(--stripe-stop-point-1),
          var(--stripe-color-deleted) var(--stripe-stop-point-2));
  }
  </style>

  <!-- Local styles (that affect only data model tables) -->

  <style>
  /* center column 2 (Base Type) */
  .data-type-table th:nth-child(2),
  .data-type-table td:nth-child(2) {
      text-align: center;
  }

  /* center columns 3 (Write), 5 (Object Default), 6 (Version) */
  .data-model-table th:nth-child(3),
  .data-model-table td:nth-child(3),
  .data-model-table th:nth-child(5),
  .data-model-table td:nth-child(5),
  .data-model-table th:nth-child(6),
  .data-model-table td:nth-child(6)
  {
      text-align: center;
  }

  .data-model-table th,
  .data-model-table td {
      hyphenate-character: "";
  }

  /* word wrap/break column 1 (Name) */
  .data-model-table td:first-child {
      word-wrap: break-word;
      word-break: break-all;
      min-width: 27ch;
  }

  /* word wrap/break column 2 (Base Type) */
  .data-model-table td:nth-child(2) {
      word-wrap: break-word;
      word-break: break-all;
      min-width: 12ch;
  }

  /* word wrap/break column 3 (Write) */
  .data-model-table td:nth-child(3) {
      min-width: 1ch;
  }

  /* word wrap/break column 5 (Object Default) */
  .data-model-table td:nth-child(5) {
      word-wrap: break-word;
      word-break: break-all;
      min-width: 12ch;
  }

  /* word wrap/break column 6 (Version) */
  .data-model-table td:nth-child(6) {
      min-width: 6ch;
  }

  /* center column 1 (Abbreviation) */
  .profile-notation-table th:nth-child(1),
  .profile-notation-table td:nth-child(1) {
      text-align: center;
  }

  /* center column 2 (Requirement) */
  .profile-requirements-table th:nth-child(2),
  .profile-requirements-table td:nth-child(2) {
      text-align: center;
  }
  </style>
</head>
<body>
<div id="main">
<table class="full-width">
<colgroup>
<col style="width: 3.0%;"></col>
<col style="width: 22.0%;"></col>
<col style="width: 50.0%;"></col>
<col style="width: 25.0%;"></col></colgroup>
<tbody>
<tr>
<td colspan="2"><a href="https://www.broadband-forum.org"><img width="100%" src="https://www.broadband-forum.org/images/logo-broadband-forum.gif" alt="Broadband Forum"></img></a></td>
<td class="centered" rowspan="1"><p></p>

<h1 id="tr-069-device12-root-object-errata-and-clarifications" class="unnumbered unlisted">TR-069 Device:1.2 Root Object errata and clarifications</h1>

<h1 id="tr-106-1-2-0xml" class="unnumbered unlisted"><a href="./#tr-106-1-2-0.xml">tr-106-1-2-0.xml</a></h1></td>
<td rowspan="1"></td></tr>
<tr>
<td></td>
<td><h3 id="data-model-definition" class="unnumbered unlisted">DATA MODEL DEFINITION</h3></td></tr></tbody></table>

<h1 id="license">License</h1>

<p>Copyright (c) 2008-2017, Broadband Forum</p>

<p>Redistribution and use in source and binary forms, with or
without modification, are permitted provided that the following
conditions are met:</p>

<ol>
<li>Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.</li>
<li>Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials
provided with the distribution.</li>
<li>Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products
derived from this software without specific prior written
permission.</li></ol>

<p>THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
CONTRIBUTORS &ldquo;AS IS&rdquo; AND ANY EXPRESS OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</p>

<p>The above license is used as a license under copyright only.
Please reference the Forum IPR Policy for patent licensing terms
<a href="https://www.broadband-forum.org/ipr-policy">https://www.broadband-forum.org/ipr-policy</a>.</p>

<p>Any moral rights which are necessary to exercise under the above
license grant are also deemed granted under this license.</p>

<h1 id="data-types">Data Types</h1>

<p>The Parameters defined in this specification make use of a
limited subset of the default SOAP data types [<a href="#R.SOAP1.1">SOAP1.1</a>]. These data
types and the named data types used by this specification
are described below.</p>

<p>Note: A Parameter that is defined to be one of the named data
types is reported as such at the beginning of the Parameter’s
description via a reference back to the associated data type
definition (e.g. <em>[MACAddress]</em>). However, such parameters
still indicate their SOAP data types.</p>

<table class="full-width partial-border data-type-table">
<thead>
<tr>
<th>Data Type</th>
<th>Base Type</th>
<th>Description</th></tr></thead>
<tbody>
<tr>
<td><span id="T.base64">base64</span></td>
<td>-</td>
<td><p>Base64 encoded binary (no line-length limitation).</p>

<p>A minimum and maximum allowed length can be indicated using the form
<em>base64(Min:Max)</em>, where <em>Min</em> and <em>Max</em> are the minimum and maximum
length in characters before Base64 encoding. If either <em>Min</em> or
<em>Max</em> are missing, this indicates no limit, and if <em>Min</em> is missing
the colon can also be omitted, as in <em>base64(Max)</em>. Multiple
comma-separate ranges can be specified, in which case the length
MUST be in one of the ranges.</p></td></tr>
<tr>
<td><span id="T.boolean">boolean</span></td>
<td>-</td>
<td>Boolean, where the allowed values are <em>0</em> or <em>1</em> (or equivalently,
<em>true</em> or <em>false</em>).</td></tr>
<tr>
<td><span id="T.dateTime">dateTime</span></td>
<td>-</td>
<td>The subset of the ISO 8601 date-time format defined by the SOAP
<em>dateTime</em> type [<a href="#R.SOAP1.1">SOAP1.1</a>].</td></tr>
<tr>
<td><span id="T.int">int</span></td>
<td>-</td>
<td><p>Integer in the range <em>-2147483648</em> to <em>+2147483647</em>, inclusive.</p>

<p>For some <em>int</em> types, a value range is given using the form
<em>int(Min:Max)</em> or <em>int(Min:Max step Step)</em> where the <em>Min</em> and <em>Max</em>
values are inclusive. If either <em>Min</em> or <em>Max</em> are missing,
this indicates no limit. If <em>Step</em> is missing, this indicates a
step of <em>1</em>. Multiple comma-separated ranges can be specified,
in which case the value will be in one of the ranges.</p></td></tr>
<tr>
<td><span id="T.string">string</span></td>
<td>-</td>
<td>For strings, a minimum and maximum allowed length can be indicated
using the form <em>string(Min:Max)</em>, where <em>Min</em> and <em>Max</em> are the minimum
and maximum string length in characters. If either <em>Min</em> or <em>Max</em>
are missing, this indicates no limit, and if <em>Min</em> is missing the
colon can also be omitted, as in <em>string(Max)</em>. Multiple
comma-separated ranges can be specified, in which case the string
length will be in one of the ranges.</td></tr>
<tr>
<td><span id="T.unsignedInt">unsignedInt</span></td>
<td>-</td>
<td><p>Unsigned integer in the range <em>0</em> to <em>4294967295</em>, inclusive.</p>

<p>For some <em>unsignedInt</em> types, a value range is given using the form
<em>unsignedInt(Min:Max)</em> or <em>unsigned(Min:Max step Step)</em>, where the
<em>Min</em> and <em>Max</em> values are inclusive. If either <em>Min</em> or <em>Max</em> are
missing, this indicates no limit. If <em>Step</em> is missing,
this indicates a step of <em>1</em>. Multiple comma-separated ranges can be
specified, in which case the value will be in one of the ranges.</p></td></tr>
<tr>
<td><span id="T.IPAddress">IPAddress</span></td>
<td><a href="#T.string">string</a>(:45)</td>
<td><p>IP address, i.e. IPv4 address (or IPv4 subnet mask) or IPv6 address.</p>

<p>All IPv4 addresses and subnet masks MUST be represented as strings in
IPv4 dotted-decimal notation. Here are some examples of valid IPv4
address textual representations:</p>

<ul>
<li>216.52.29.100</li>
<li>192.168.1.254</li></ul>

<p>All IPv6 addresses MUST be represented using any of the 3 standard
textual representations defined in [<a href="#R.RFC4291">RFC4291</a>] Sections 2.2.1,
2.2.2 and 2.2.3. Both lower-case and upper-case letters can be used, but
use of lower-case letters is RECOMMENDED. Here are some examples of valid
IPv6 address textual representations:</p>

<ul>
<li>1080:0:0:800:ba98:3210:11aa:12dd</li>
<li>1080::800:ba98:3210:11aa:12dd</li>
<li>0:0:0:0:0:0:13.1.68.3</li></ul>

<p>IPv6 addresses MUST NOT include zone identifiers. Zone identifiers are
discussed in [<a href="#R.RFC4007">Section 6/RFC4007</a>].</p>

<p>Unspecified or inapplicable addresses (or IPv4 subnet masks) MUST be
represented as empty strings unless otherwise specified by the parameter
definition.</p></td></tr>
<tr>
<td><span id="T.MACAddress">MACAddress</span></td>
<td><a href="#T.string">string</a>(:17)</td>
<td><p>All MAC addresses are represented as strings of 12 hexadecimal digits
(digits 0-9, letters A-F or a-f) displayed as six pairs of digits
separated by colons. Unspecified or inapplicable MAC addresses MUST be
represented as empty strings unless otherwise specified by the parameter
definition.</p>

<p>Possible patterns:</p>

<ul>
<li><span id="D.."><em>&lt;Empty&gt;</em></span> (an empty string)</li>
<li><span id="D..0-9A-Fa-f0-9A-Fa-f:50-9A-Fa-f0-9A-Fa-f"><code>([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])</code></span></li></ul></td></tr></tbody></table>

<h1 id="references">References</h1>

<table>
<tbody>
<tr>
<td><a href="https://www.iana.org/assignments/uri-schemes">[<span id="R.IANA-uri-schemes">IANA-uri-schemes</span>]</a></td>
<td>IANA Uniform Resource Identifier (URI) Schemes Registry, <em>Uniform Resource Identifier (URI) Schemes</em>, IANA.</td></tr>
<tr>
<td><a href="https://standards.ieee.org/regauth/oui/tutorials/EUI64.html">[<span id="R.IEEE_EUI64">IEEE_EUI64</span>]</a></td>
<td>Guidelines for 64-bit Global Identifier (EUI-64) Registration Authority, <em>Guidelines for 64-bit Global Identifier (EUI-64) Registration Authority</em>, IEEE, March 1997.</td></tr>
<tr>
<td><a href="https://standards.ieee.org/faqs/regauth">[<span id="R.OUI">OUI</span>]</a></td>
<td>Organizationally Unique Identifiers (OUIs).</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc2616">[<span id="R.RFC2616">RFC2616</span>]</a></td>
<td>RFC 2616, <em>Hypertext Transfer Protocol - HTTP/1.1</em>, IETF, 1999.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc3066">[<span id="R.RFC3066">RFC3066</span>]</a></td>
<td>RFC 3066, <em>Tags for the Identification of Languages</em>, IETF.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc3489">[<span id="R.RFC3489">RFC3489</span>]</a></td>
<td>RFC 3489, <em>STUN - Simple Traversal of User Datagram Protocol (UDP) Through Network
Address Translators (NATs)</em>, IETF.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc3986">[<span id="R.RFC3986">RFC3986</span>]</a></td>
<td>RFC 3986, <em>Uniform Resource Identifier (URI): Generic Syntax</em>, IETF.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc4007">[<span id="R.RFC4007">RFC4007</span>]</a></td>
<td>RFC 4007, <em>IPv6 Scoped Address Architecture</em>, IETF.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc4122">[<span id="R.RFC4122">RFC4122</span>]</a></td>
<td>RFC 4122, <em>A Universally Unique IDentifier (UUID) URN Namespace</em>, IETF, 2005.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc4291">[<span id="R.RFC4291">RFC4291</span>]</a></td>
<td>RFC 4291, <em>IP Version 6 Addressing Architecture</em>, IETF, 2006.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc4632">[<span id="R.RFC4632">RFC4632</span>]</a></td>
<td>RFC 4632, <em>Classless Inter-domain Routing (CIDR): The Internet Address Assignment
and Aggregation Plan</em>, IETF, 2006.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc7159">[<span id="R.RFC7159">RFC7159</span>]</a></td>
<td>RFC7159, <em>The JavaScript Object Notation (JSON) Data Interchange Format</em>, IETF, March 2014.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc7230">[<span id="R.RFC7230">RFC7230</span>]</a></td>
<td>RFC 7230, <em>Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing</em>, IETF, June 2014.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc7252">[<span id="R.RFC7252">RFC7252</span>]</a></td>
<td>RFC 7252, <em>The Constrained Application Protocol (CoAP)</em>, IETF, June 2014.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc8141">[<span id="R.RFC8141">RFC8141</span>]</a></td>
<td>RFC 8141, <em>Uniform Resource Names (URNs)</em>, IETF, April 2017.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc862">[<span id="R.RFC862">RFC862</span>]</a></td>
<td>RFC 862, <em>Echo Protocol</em>, IETF, 1983.</td></tr>
<tr>
<td><a href="https://www.rfc-editor.org/rfc/rfc958">[<span id="R.RFC959">RFC959</span>]</a></td>
<td>RFC 959, <em>File Transfer Protocol</em>, IETF, 1985.</td></tr>
<tr>
<td><a href="https://www.w3.org/TR/2000/NOTE-SOAP-20000508">[<span id="R.SOAP1.1">SOAP1.1</span>]</a></td>
<td>Simple Object Access Protocol (SOAP) 1.1, W3C.</td></tr>
<tr>
<td><a href="https://www.broadband-forum.org/download/TR-069.pdf">[<span id="R.TR-069">TR-069</span>]</a></td>
<td>TR-069 Amendment 6, <em>CPE WAN Management Protocol</em>, Broadband Forum, April 2018.</td></tr>
<tr>
<td><a href="https://www.broadband-forum.org/download/TR-069_Amendment-2.pdf">[<span id="R.TR-069a2">TR-069a2</span>]</a></td>
<td>TR-069 Amendment 2, <em>CPE WAN Management Protocol</em>, Broadband Forum, December 2007.</td></tr>
<tr>
<td><a href="https://www.broadband-forum.org/download/TR-106.pdf">[<span id="R.TR-106">TR-106</span>]</a></td>
<td>TR-106 Amendment 8, <em>Data Model Template for CWMP Endpoints and USP Agents</em>, Broadband Forum, May 2018.</td></tr>
<tr>
<td><a href="https://www.broadband-forum.org/download/TR-106_Amendment-2.pdf">[<span id="R.TR-106a2">TR-106a2</span>]</a></td>
<td>TR-106 Amendment 2, <em>Data Model Template for TR-069-Enabled Devices</em>, Broadband Forum, November 2008.</td></tr>
<tr>
<td><a href="https://www.broadband-forum.org/download/TR-143.pdf">[<span id="R.TR-143">TR-143</span>]</a></td>
<td>TR-143 Amendment 1 Corrigendum 1, <em>Enabling Network Throughput Performance Tests and Statistical
Monitoring</em>, Broadband Forum, August 2015.</td></tr>
<tr>
<td><a href="https://csa-iot.org/all-solutions/zigbee">[<span id="R.ZigBee2007">ZigBee2007</span>]</a></td>
<td>ZigBee 2007 Specification, <em>ZigBee 2007 Specification</em>, ZigBee Alliance, October 2007.</td></tr></tbody></table>

<h1 id="legend">Legend</h1>

<table class="middle-width partial-border">
<tbody>
<tr class="object">
<td>Object definition.</td></tr>
<tr class="parameter">
<td>Parameter definition.</td></tr></tbody></table>

<h1 id="device12-data-model">Device:1.2 Data Model</h1>

<p>For a given implementation of this data model, the Agent MUST
indicate support for the highest version number of any object
or parameter that it supports. For example, even if the Agent
supports only a single parameter that was introduced in version
1.4, then it will indicate support for version 1.4. The version
number associated with each object and parameter is shown in
the <strong>Version</strong> column.</p>

<table class="full-width partial-border data-model-table">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Write</th>
<th>Description</th>
<th>Object Default</th>
<th>Version</th></tr></thead>
<tbody>
<tr class="object">
<td><span id="D.Device:1.Device.">Device.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>The top-level object for a Device.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.DeviceSummary">DeviceSummary</span></td>
<td>string(:1024)</td>
<td>R</td>
<td><p>See [<a href="#R.TR-106">Section 3.7/TR-106</a>].</p>

<p>This parameter MUST always be included in Inform messages.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="object">
<td><span id="D.Device:1.Device.Services.">Device.Services.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object contains general services information.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="object">
<td><span id="D.Device:1.Device.DeviceInfo.">Device.DeviceInfo.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object contains general device information.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.DeviceInfo.Manufacturer">Manufacturer</span></td>
<td>string(:64)</td>
<td>R</td>
<td>The manufacturer of the CPE (human readable string).</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.DeviceInfo.ManufacturerOUI">ManufacturerOUI</span></td>
<td>string(:6)</td>
<td>R</td>
<td><p>Organizationally unique identifier of the device manufacturer. Represented as a six hexadecimal-digit value using all upper-case letters and including any leading zeros. The value MUST be a valid OUI as defined in [<a href="#R.OUI">OUI</a>].</p>

<p>This value MUST remain fixed over the lifetime of the device, including across firmware updates.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.DeviceInfo.ModelName">ModelName</span></td>
<td>string(:64)</td>
<td>R</td>
<td><p>Model name of the CPE (human readable string).</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.DeviceInfo.Description">Description</span></td>
<td>string(:256)</td>
<td>R</td>
<td><p>A full description of the CPE device (human readable string).</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.DeviceInfo.ProductClass">ProductClass</span></td>
<td>string(:64)</td>
<td>R</td>
<td><p>Identifier of the class of product for which the serial number applies. That is, for a given manufacturer, this parameter is used to identify the product or class of product over which the <a href="#D.Device:1.Device.DeviceInfo.SerialNumber"><em>SerialNumber</em></a> parameter is unique.</p>

<p>This value MUST remain fixed over the lifetime of the device, including across firmware updates.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.DeviceInfo.SerialNumber">SerialNumber</span></td>
<td>string(:64)</td>
<td>R</td>
<td><p>Serial number of the CPE.</p>

<p>This value MUST remain fixed over the lifetime of the device, including across firmware updates.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.DeviceInfo.HardwareVersion">HardwareVersion</span></td>
<td>string(:64)</td>
<td>R</td>
<td><p>A string identifying the particular CPE model and version.</p>

<p>This parameter MUST always be included in Inform messages.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.DeviceInfo.SoftwareVersion">SoftwareVersion</span></td>
<td>string(:64)</td>
<td>R</td>
<td><p>A string identifying the software version currently installed in the CPE.
To allow version comparisons, this element SHOULD be in the form of dot-delimited integers, where each successive integer represents a more minor category of variation. For example, <em>3.0.21</em> where the components mean: <em>Major.Minor.Build</em>.</p>

<p>This parameter MUST always be included in Inform messages.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.DeviceInfo.EnabledOptions">EnabledOptions</span></td>
<td>string[](:1024)</td>
<td>R</td>
<td>Comma-separated list (maximum number of characters 1024) of strings. Comma-separated list of the OptionName of each Option that is currently enabled in the CPE. The OptionName of each is identical to the OptionName element of the OptionStruct described in [<a href="#R.TR-069a2">TR-069a2</a>]. Only those options are listed whose State indicates the option is enabled.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.DeviceInfo.AdditionalHardwareVersion">AdditionalHardwareVersion</span></td>
<td>string[](:64)</td>
<td>R</td>
<td>Comma-separated list (maximum number of characters 64) of strings. A comma-separated list of any additional versions. Represents any additional hardware version information the vendor might wish to supply.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.DeviceInfo.AdditionalSoftwareVersion">AdditionalSoftwareVersion</span></td>
<td>string[](:64)</td>
<td>R</td>
<td>Comma-separated list (maximum number of characters 64) of strings. A comma-separated list of any additional versions. Represents any additional software version information the vendor might wish to supply.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.DeviceInfo.ProvisioningCode">ProvisioningCode</span></td>
<td>string(:64)</td>
<td>W</td>
<td>Identifier of the primary service provider and other provisioning information, which MAY be used by the ACS to determine service provider-specific customization and provisioning parameters.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.DeviceInfo.DeviceStatus">DeviceStatus</span></td>
<td>string</td>
<td>R</td>
<td><p>Current operational status of the device.</p>

<p>Enumeration of:</p>

<ul>
<li><span id="D.Device:1.Device.DeviceInfo.DeviceStatus.Up"><em>Up</em></span></li>
<li><span id="D.Device:1.Device.DeviceInfo.DeviceStatus.Initializing"><em>Initializing</em></span></li>
<li><span id="D.Device:1.Device.DeviceInfo.DeviceStatus.Error"><em>Error</em></span></li>
<li><span id="D.Device:1.Device.DeviceInfo.DeviceStatus.Disabled"><em>Disabled</em></span></li></ul></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.DeviceInfo.UpTime">UpTime</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Time in seconds since the CPE was last restarted.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.DeviceInfo.FirstUseDate">FirstUseDate</span></td>
<td>dateTime</td>
<td>R</td>
<td><p>Date and time in UTC that the CPE first both successfully established an IP-layer network connection and acquired an absolute time reference using NTP or equivalent over that network connection. The CPE MAY reset this date after a factory reset.</p>

<p>If NTP or equivalent is not available, this parameter, if present, SHOULD be set to the Unknown Time value.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.DeviceInfo.DeviceLog">DeviceLog</span></td>
<td>string(:32768)</td>
<td>R</td>
<td><p>Vendor-specific log(s).</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="object">
<td><span id="D.Device:1.Device.ManagementServer.">Device.ManagementServer.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object contains parameters relating to the CPE’s association with an ACS.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.ManagementServer.URL">URL</span></td>
<td>string(:256)</td>
<td>W</td>
<td>URL, as defined in [<a href="#R.RFC3986">RFC3986</a>], for the CPE to connect to the ACS using the CPE WAN Management Protocol.
This parameter MUST be in the form of a valid HTTP or HTTPS URL.
The <em>host</em> portion of this URL is used by the CPE for validating the ACS certificate when using SSL or TLS.
Note that on a factory reset of the CPE, the value of this parameter might be reset to its factory value. If an ACS modifies the value of this parameter, it SHOULD be prepared to accommodate the situation that the original value is restored as the result of a factory reset.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.ManagementServer.Username">Username</span></td>
<td>string(:256)</td>
<td>W</td>
<td><p>Username used to authenticate the CPE when making a connection to the ACS using the CPE WAN Management Protocol.
This username is used only for HTTP-based authentication of the CPE.</p>

<p>Note that on a factory reset of the CPE, the value of this parameter might be reset to its factory value. If an ACS modifies the value of this parameter, it SHOULD be prepared to accommodate the situation that the original value is restored as the result of a factory reset.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.ManagementServer.Password">Password</span></td>
<td>string(:256)</td>
<td>W</td>
<td><p>Password used to authenticate the CPE when making a connection to the ACS using the CPE WAN Management Protocol.
This password is used only for HTTP-based authentication of the CPE.
When read, this parameter returns an empty string, regardless of the actual value.</p>

<p>Note that on a factory reset of the CPE, the value of this parameter might be reset to its factory value. If an ACS modifies the value of this parameter, it SHOULD be prepared to accommodate the situation that the original value is restored as the result of a factory reset.</p>

<p>When read, this parameter returns an empty string, regardless of the actual value.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.ManagementServer.PeriodicInformEnable">PeriodicInformEnable</span></td>
<td>boolean</td>
<td>W</td>
<td>Whether or not the CPE MUST periodically send CPE information to the ACS using the Inform method call.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.ManagementServer.PeriodicInformInterval">PeriodicInformInterval</span></td>
<td>unsignedInt(1:)</td>
<td>W</td>
<td>The duration in seconds of the interval for which the CPE MUST attempt to connect with the ACS and call the Inform method if <a href="#D.Device:1.Device.ManagementServer.PeriodicInformEnable"><em>PeriodicInformEnable</em></a> is <em>true</em>.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.ManagementServer.PeriodicInformTime">PeriodicInformTime</span></td>
<td>dateTime</td>
<td>W</td>
<td>An absolute time reference in UTC to determine when the CPE will initiate the periodic Inform method calls. Each Inform call MUST occur at this reference time plus or minus an integer multiple of the <a href="#D.Device:1.Device.ManagementServer.PeriodicInformInterval"><em>PeriodicInformInterval</em></a>.
<em>PeriodicInformTime</em> is used only to set the <em>phase</em> of the periodic Informs. The actual value of <em>PeriodicInformTime</em> can be arbitrarily far into the past or future.
For example, if <a href="#D.Device:1.Device.ManagementServer.PeriodicInformInterval"><em>PeriodicInformInterval</em></a> is 86400 (a day) and if <em>PeriodicInformTime</em> is set to UTC midnight on some day (in the past, present, or future) then periodic Informs will occur every day at UTC midnight. These MUST begin on the very next midnight, even if <em>PeriodicInformTime</em> refers to a day in the future.
The Unknown Time value defined in [<a href="#R.TR-106a2">Section 3.2/TR-106a2</a>] indicates that no particular time reference is specified. That is, the CPE MAY locally choose the time reference, and needs only to adhere to the specified <a href="#D.Device:1.Device.ManagementServer.PeriodicInformInterval"><em>PeriodicInformInterval</em></a>.
If absolute time is not available to the CPE, its periodic Inform behavior MUST be the same as if the <em>PeriodicInformTime</em> parameter was set to the Unknown Time value.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.ManagementServer.ParameterKey">ParameterKey</span></td>
<td>string(:32)</td>
<td>R</td>
<td><p><em>ParameterKey</em> provides the ACS a reliable and extensible means to track changes made by the ACS. The value of <em>ParameterKey</em> MUST be equal to the value of the ParameterKey argument from the most recent successful SetParameterValues, AddObject, or DeleteObject method call from the ACS.
The CPE MUST set <em>ParameterKey</em> to the value specified in the corresponding method arguments if and only if the method completes successfully and no fault response is generated. If a method call does not complete successfully (implying that the changes requested in the method did not take effect), the value of <em>ParameterKey</em> MUST NOT be modified.
The CPE MUST only modify the value of <em>ParameterKey</em> as a result of SetParameterValues, AddObject, DeleteObject, or due to a factory reset. On factory reset, the value of <em>ParameterKey</em> MUST be set to an empty string.</p>

<p>This parameter MUST always be included in Inform messages.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.ManagementServer.ConnectionRequestURL">ConnectionRequestURL</span></td>
<td>string(:256)</td>
<td>R</td>
<td><p>HTTP URL, as defined in [<a href="#R.RFC3986">RFC3986</a>], for an ACS to make a Connection Request notification to the CPE.
In the form:</p>

<blockquote><a href="http://host:port/path">http://host:port/path</a>
The <em>host</em> portion of the URL MAY be the IP address for the management interface of the CPE in lieu of a host name.</blockquote>

<p>This parameter MUST always be included in Inform messages.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.ManagementServer.ConnectionRequestUsername">ConnectionRequestUsername</span></td>
<td>string(:256)</td>
<td>W</td>
<td>Username used to authenticate an ACS making a Connection Request to the CPE.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.ManagementServer.ConnectionRequestPassword">ConnectionRequestPassword</span></td>
<td>string(:256)</td>
<td>W</td>
<td><p>Password used to authenticate an ACS making a Connection Request to the CPE.
When read, this parameter returns an empty string, regardless of the actual value.</p>

<p>When read, this parameter returns an empty string, regardless of the actual value.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.ManagementServer.UpgradesManaged">UpgradesManaged</span></td>
<td>boolean</td>
<td>W</td>
<td>Indicates whether or not the ACS will manage upgrades for the CPE. If <em>true</em>, the CPE SHOULD NOT use other means other than the ACS to seek out available upgrades. If <em>false</em>, the CPE MAY use other means for this purpose.
Note that an autonomous upgrade (reported via an &ldquo;10 AUTONOMOUS TRANSFER COMPLETE&rdquo; Inform Event code) SHOULD be regarded as a managed upgrade if it is performed according to ACS-specified policy.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.ManagementServer.KickURL">KickURL</span></td>
<td>string(:256)</td>
<td>R</td>
<td>Present only for a CPE that supports the Kicked RPC method.
LAN-accessible URL, as defined in [<a href="#R.RFC3986">RFC3986</a>], from which the CPE can be <em>kicked</em> to initiate the Kicked RPC method call. MUST be an absolute URL including a host name or IP address as would be used on the LAN side of the CPE.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.ManagementServer.DownloadProgressURL">DownloadProgressURL</span></td>
<td>string(:256)</td>
<td>R</td>
<td>Present only for a CPE that provides a LAN-side web page to show progress during a file download.
LAN-accessible URL, as defined in [<a href="#R.RFC3986">RFC3986</a>], to which a web-server associated with the ACS MAY redirect a user’s browser on initiation of a file download to observer the status of the download.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.ManagementServer.UDPConnectionRequestAddress">UDPConnectionRequestAddress</span></td>
<td>string(:256)</td>
<td>R</td>
<td><p>Address and port to which an ACS MAY send a UDP Connection Request to the CPE (see [<a href="#R.TR-069a2">Annex G/TR-069a2</a>]).
This parameter is represented in the form of an Authority element as defined in [<a href="#R.RFC3986">RFC3986</a>]. The value MUST be in one of the following two forms:</p>

<blockquote>host:port</blockquote>

<blockquote>host</blockquote>

<ul>
<li>When <a href="#D.Device:1.Device.ManagementServer.STUNEnable"><em>STUNEnable</em></a> is <em>true</em>, the <em>host</em> and <em>port</em> portions of this parameter MUST represent the public address and port corresponding to the NAT binding through which the ACS can send UDP Connection Request messages (once this information is learned by the CPE through the use of STUN).</li>
<li>When <a href="#D.Device:1.Device.ManagementServer.STUNEnable"><em>STUNEnable</em></a> is <em>false</em>, the <em>host</em> and <em>port</em> portions of the URL MUST represent the local IP address and port on which the CPE is listening for UDP Connection Request messages.
The second form of this parameter MAY be used only if the port value is equal to <em>80</em>.</li></ul></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.ManagementServer.UDPConnectionRequestAddressNotificationLimit">UDPConnectionRequestAddressNotificationLimit</span></td>
<td>unsignedInt</td>
<td>W</td>
<td>The minimum time, in seconds, between Active Notifications resulting from changes to the <a href="#D.Device:1.Device.ManagementServer.UDPConnectionRequestAddress"><em>UDPConnectionRequestAddress</em></a> (if Active Notification is enabled).</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.ManagementServer.STUNEnable">STUNEnable</span></td>
<td>boolean</td>
<td>W</td>
<td>Enables or disables the use of STUN by the CPE. This applies only to the use of STUN in association with the ACS to allow UDP Connection Requests.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.ManagementServer.STUNServerAddress">STUNServerAddress</span></td>
<td>string(:256)</td>
<td>W</td>
<td>Host name or IP address of the STUN server for the CPE to send Binding Requests if STUN is enabled via <a href="#D.Device:1.Device.ManagementServer.STUNEnable"><em>STUNEnable</em></a>.
If is an empty string and <a href="#D.Device:1.Device.ManagementServer.STUNEnable"><em>STUNEnable</em></a> is <em>true</em>, the CPE MUST use the address of the ACS extracted from the host portion of the ACS URL.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.ManagementServer.STUNServerPort">STUNServerPort</span></td>
<td>unsignedInt(0:65535)</td>
<td>W</td>
<td>Port number of the STUN server for the CPE to send Binding Requests if STUN is enabled via <a href="#D.Device:1.Device.ManagementServer.STUNEnable"><em>STUNEnable</em></a>.
By default, this SHOULD be the equal to the default STUN port, 3478.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.ManagementServer.STUNUsername">STUNUsername</span></td>
<td>string(:256)</td>
<td>W</td>
<td>If is not an empty string, the value of the STUN USERNAME attribute to be used in Binding Requests (only if message integrity has been requested by the STUN server).
If is an empty string, the CPE MUST NOT send STUN Binding Requests with message integrity.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.ManagementServer.STUNPassword">STUNPassword</span></td>
<td>string(:256)</td>
<td>W</td>
<td><p>The value of the STUN Password to be used in computing the MESSAGE-INTEGRITY attribute to be used in Binding Requests (only if message integrity has been requested by the STUN server).
When read, this parameter returns an empty string, regardless of the actual value.</p>

<p>When read, this parameter returns an empty string, regardless of the actual value.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.ManagementServer.STUNMaximumKeepAlivePeriod">STUNMaximumKeepAlivePeriod</span></td>
<td>int(-1:)</td>
<td>W</td>
<td>If STUN Is enabled, the maximum period, in seconds, that STUN Binding Requests MUST be sent by the CPE for the purpose of maintaining the binding in the Gateway. This applies specifically to Binding Requests sent from the UDP Connection Request address and port.
A value of -1 indicates that no maximum period is specified.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.ManagementServer.STUNMinimumKeepAlivePeriod">STUNMinimumKeepAlivePeriod</span></td>
<td>unsignedInt</td>
<td>W</td>
<td>If STUN Is enabled, the minimum period, in seconds, that STUN Binding Requests can be sent by the CPE for the purpose of maintaining the binding in the Gateway. This limit applies only to Binding Requests sent from the UDP Connection Request address and port, and only those that do not contain the BINDING-CHANGE attribute. This limit does not apply to retransmissions following the procedures defined in [<a href="#R.RFC3489">RFC3489</a>].</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.ManagementServer.NATDetected">NATDetected</span></td>
<td>boolean</td>
<td>R</td>
<td>When STUN is enabled, this parameter indicates whether or not the CPE has detected address and/or port mapping in use.
A <em>true</em> value indicates that the received MAPPED-ADDRESS in the most recent Binding Response differs from the CPE’s source address and port.
When <a href="#D.Device:1.Device.ManagementServer.STUNEnable"><em>STUNEnable</em></a> is <em>false</em>, this value MUST be <em>false</em>.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="object">
<td><span id="D.Device:1.Device.GatewayInfo.">Device.GatewayInfo.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object contains information associated with a connected Internet Gateway Device.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.GatewayInfo.ManufacturerOUI">ManufacturerOUI</span></td>
<td>string(:6)</td>
<td>R</td>
<td>Organizationally unique identifier of the associated Internet Gateway Device. An empty string indicates that there is no associated Internet Gateway Device that has been detected.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.GatewayInfo.ProductClass">ProductClass</span></td>
<td>string(:64)</td>
<td>R</td>
<td>Identifier of the product class of the associated Internet Gateway Device. An empty string indicates either that there is no associated Internet Gateway Device that has been detected, or the Internet Gateway Device does not support the use of the product-class parameter.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.GatewayInfo.SerialNumber">SerialNumber</span></td>
<td>string(:64)</td>
<td>R</td>
<td>Serial number of the associated Internet Gateway Device. An empty string indicates that there is no associated Internet Gateway Device that has been detected.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="object">
<td><span id="D.Device:1.Device.Config.">Device.Config.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object contains general configuration parameters.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.Config.PersistentData">PersistentData</span></td>
<td>string(:256)</td>
<td>W</td>
<td>Arbitrary user data that MUST persist across CPE reboots.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.Config.ConfigFile">ConfigFile</span></td>
<td>string(:32768)</td>
<td>W</td>
<td><p>A dump of the currently running configuration on the CPE. This parameter enables the ability to backup and restore the last known good state of the CPE. It returns a vendor-specific document that defines the state of the CPE. The document MUST be capable of restoring the CPE’s state when written back to the CPE using SetParameterValues.</p>

<p>An alternative to this parameter, e.g. when the configuration file is larger than the parameter size limit, is to use the Upload and Download RPCs with a FileType of <em>1 Vendor Configuration File</em>.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="object">
<td><span id="D.Device:1.Device.Time.">Device.Time.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object contains parameters relating an NTP or SNTP time client in the CPE.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.Time.NTPServer1">NTPServer1</span></td>
<td>string(:64)</td>
<td>W</td>
<td>First NTP timeserver. Either a host name or IP address.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.Time.NTPServer2">NTPServer2</span></td>
<td>string(:64)</td>
<td>W</td>
<td>Second NTP timeserver. Either a host name or IP address.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.Time.NTPServer3">NTPServer3</span></td>
<td>string(:64)</td>
<td>W</td>
<td>Third NTP timeserver. Either a host name or IP address.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.Time.NTPServer4">NTPServer4</span></td>
<td>string(:64)</td>
<td>W</td>
<td>Fourth NTP timeserver. Either a host name or IP address.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.Time.NTPServer5">NTPServer5</span></td>
<td>string(:64)</td>
<td>W</td>
<td>Fifth NTP timeserver. Either a host name or IP address.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.Time.CurrentLocalTime">CurrentLocalTime</span></td>
<td>dateTime</td>
<td>R</td>
<td><p>The current date and time in the CPE’s local time zone.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.Time.LocalTimeZone">LocalTimeZone</span></td>
<td>string(:256)</td>
<td>W</td>
<td><p>The local time zone definition, encoded according to IEEE 1003.1 (POSIX). The following is an example value:</p>

<blockquote>EST+5 EDT,M4.1.0/2,M10.5.0/2</blockquote></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="object">
<td><span id="D.Device:1.Device.UserInterface.">Device.UserInterface.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object contains parameters relating to the user interface of the CPE.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.UserInterface.PasswordRequired">PasswordRequired</span></td>
<td>boolean</td>
<td>W</td>
<td>Present only if the CPE provides a password-protected LAN-side user interface.
Indicates whether or not the local user interface MUST require a password to be chosen by the user. If <em>false</em>, the choice of whether or not a password is used is left to the user.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.UserInterface.PasswordUserSelectable">PasswordUserSelectable</span></td>
<td>boolean</td>
<td>W</td>
<td>Present only if the CPE provides a password-protected LAN-side user interface and supports LAN-side Auto-Configuration.
Indicates whether or not a password to protect the local user interface of the CPE MAY be selected by the user directly, or MUST be equal to the password used by the LAN-side Auto-Configuration protocol.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.UserInterface.UpgradeAvailable">UpgradeAvailable</span></td>
<td>boolean</td>
<td>W</td>
<td>Indicates that a CPE upgrade is available, allowing the CPE to display this information to the user.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.UserInterface.WarrantyDate">WarrantyDate</span></td>
<td>dateTime</td>
<td>W</td>
<td>Indicates the date and time in UTC that the warranty associated with the CPE is to expire.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.UserInterface.ISPName">ISPName</span></td>
<td>string(:64)</td>
<td>W</td>
<td>The name of the customer’s ISP.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.UserInterface.ISPHelpDesk">ISPHelpDesk</span></td>
<td>string(:32)</td>
<td>W</td>
<td>The help desk phone number of the ISP.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.UserInterface.ISPHomePage">ISPHomePage</span></td>
<td>string(:256)</td>
<td>W</td>
<td>The URL of the ISP’s home page.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.UserInterface.ISPHelpPage">ISPHelpPage</span></td>
<td>string(:256)</td>
<td>W</td>
<td>The URL of the ISP’s on-line support page.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.UserInterface.ISPLogo">ISPLogo</span></td>
<td>base64(0:4095)</td>
<td>W</td>
<td>Base64 encoded GIF or JPEG image. The binary image is constrained to 4095 bytes or less.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.UserInterface.ISPLogoSize">ISPLogoSize</span></td>
<td>unsignedInt(0:4095)</td>
<td>W</td>
<td>Un-encoded binary image size in bytes.
If ISPLogoSize input value is 0 then the ISPLogo is cleared.
ISPLogoSize can also be used as a check to verify correct transfer and conversion of Base64 string to image size.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.UserInterface.ISPMailServer">ISPMailServer</span></td>
<td>string(:256)</td>
<td>W</td>
<td>The URL of the ISP’s mail server.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.UserInterface.ISPNewsServer">ISPNewsServer</span></td>
<td>string(:256)</td>
<td>W</td>
<td>The URL of the ISP’s news server.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.UserInterface.TextColor">TextColor</span></td>
<td>string(:6)</td>
<td>W</td>
<td>The color of text on the GUI screens in RGB hexidecimal notation (e.g., FF0088).</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.UserInterface.BackgroundColor">BackgroundColor</span></td>
<td>string(:6)</td>
<td>W</td>
<td>The color of the GUI screen backgrounds in RGB hexidecimal notation (e.g., FF0088).</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.UserInterface.ButtonColor">ButtonColor</span></td>
<td>string(:6)</td>
<td>W</td>
<td>The color of buttons on the GUI screens in RGB hexidecimal notation (e.g., FF0088).</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.UserInterface.ButtonTextColor">ButtonTextColor</span></td>
<td>string(:6)</td>
<td>W</td>
<td>The color of text on buttons on the GUI screens in RGB hexidecimal notation (e.g., FF0088).</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.UserInterface.AutoUpdateServer">AutoUpdateServer</span></td>
<td>string(:256)</td>
<td>W</td>
<td>The server the CPE can check to see if an update is available for direct download to it. This MUST NOT be used by the CPE if the <a href="#D.Device:1.Device.ManagementServer.UpgradesManaged"><em>ManagementServer.UpgradesManaged</em></a> parameter is <em>true</em>.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.UserInterface.UserUpdateServer">UserUpdateServer</span></td>
<td>string(:256)</td>
<td>W</td>
<td>The server where a user can check via a web browser if an update is available for download to a PC. This MUST NOT be used by the CPE if the <a href="#D.Device:1.Device.ManagementServer.UpgradesManaged"><em>ManagementServer.UpgradesManaged</em></a> parameter is <em>true</em>.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.UserInterface.AvailableLanguages">AvailableLanguages</span></td>
<td>string[](:256)</td>
<td>R</td>
<td>Comma-separated list (maximum number of characters 256) of strings. Comma-separated list of user-interface languages that are available, where each language is specified according to RFC 3066 [<a href="#R.RFC3066">RFC3066</a>].</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.UserInterface.CurrentLanguage">CurrentLanguage</span></td>
<td>string(:16)</td>
<td>W</td>
<td>Current user-interface language, specified according to RFC 3066 [<a href="#R.RFC3066">RFC3066</a>].</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="object">
<td><span id="D.Device:1.Device.LAN.">Device.LAN.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object contains parameters relating to IP-based LAN connectivity of a device.
This object relates only to IP-layer LAN capabilities. Lower-layer aspects of LAN connectivity are not considered part of the common data model defined in this specification.
For a device that contains multiple IP interfaces, the scope of this object is limited to the default IP interface. Data that might be associated with other interfaces is not considered part of the common data model defined in this specification.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.LAN.AddressingType">AddressingType</span></td>
<td>string</td>
<td>W</td>
<td><p>The method used to assign an address to this interface. Enumeration of:</p>

<ul>
<li><span id="D.Device:1.Device.LAN.AddressingType.DHCP"><em>DHCP</em></span></li>
<li><span id="D.Device:1.Device.LAN.AddressingType.Static"><em>Static</em></span>
The ability to modify this parameter is OPTIONAL.</li></ul></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.LAN.IPAddress">IPAddress</span></td>
<td><span title="IPAddress">string(:45)</span></td>
<td>W</td>
<td><p>[<a href="#T.IPAddress">IPAddress</a>] The current IP address assigned to this interface.
The ability to modify this parameter is OPTIONAL, and this parameter cannot be modified if the <a href="#D.Device:1.Device.LAN.AddressingType"><em>AddressingType</em></a> is <a href="#D.Device:1.Device.LAN.AddressingType.DHCP"><em>DHCP</em></a>.</p>

<p>This parameter MUST always be included in Inform messages.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.LAN.SubnetMask">SubnetMask</span></td>
<td><span title="IPAddress">string(:45)</span></td>
<td>W</td>
<td>[<a href="#T.IPAddress">IPAddress</a>] The current subnet mask.
The ability to modify this parameter is OPTIONAL, and this parameter cannot be modified if the <a href="#D.Device:1.Device.LAN.AddressingType"><em>AddressingType</em></a> is <a href="#D.Device:1.Device.LAN.AddressingType.DHCP"><em>DHCP</em></a>.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.LAN.DefaultGateway">DefaultGateway</span></td>
<td>string</td>
<td>W</td>
<td>The IP address of the current default gateway for this interface.
The ability to modify this parameter is OPTIONAL, and this parameter cannot be modified if the <a href="#D.Device:1.Device.LAN.AddressingType"><em>AddressingType</em></a> is <a href="#D.Device:1.Device.LAN.AddressingType.DHCP"><em>DHCP</em></a>.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.LAN.DNSServers">DNSServers</span></td>
<td>string[](:256)</td>
<td>W</td>
<td>Comma-separated list (maximum number of characters 256) of strings. Comma-separated list of IP address of the DNS servers for this interface.
The ability to modify this parameter is OPTIONAL, and this parameter cannot be modified if the <a href="#D.Device:1.Device.LAN.AddressingType"><em>AddressingType</em></a> is <a href="#D.Device:1.Device.LAN.AddressingType.DHCP"><em>DHCP</em></a>.
If this parameter is modifiable, the device MAY ignore any DNS servers beyond the first two in the list.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.LAN.MACAddress">MACAddress</span></td>
<td><span title="MACAddress">string(:17)</span></td>
<td>W</td>
<td>[<a href="#T.MACAddress">MACAddress</a>] The physical address of this interface. Writable only if <a href="#D.Device:1.Device.LAN.MACAddressOverride"><em>MACAddressOverride</em></a> is present and equal to <em>true</em>.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.LAN.MACAddressOverride">MACAddressOverride</span></td>
<td>boolean</td>
<td>W</td>
<td>Whether the value of MACAddress parameter can be overridden.

<ul>
<li>When <em>true</em>, <a href="#D.Device:1.Device.LAN.MACAddress"><em>MACAddress</em></a> is writable.</li>
<li>When <em>false</em>, <a href="#D.Device:1.Device.LAN.MACAddress"><em>MACAddress</em></a> is not writable, and the default MAC address assigned by the device SHOULD be restored.</li></ul></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.LAN.DHCPOptionNumberOfEntries">DHCPOptionNumberOfEntries</span></td>
<td>unsignedInt</td>
<td>R</td>
<td>Number of entries in the DHCP option table.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="object">
<td><span id="D.Device:1.Device.LAN.DHCPOption.">Device.LAN.DHCPOption.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>W</td>
<td>This object is for configuration of DHCP options. Each instance of this object represents a DHCP option to be included by the DHCP client in client requests. The DHCP client MAY include any other options not specified in this table.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.LAN.DHCPOption.Request">Request</span></td>
<td>boolean</td>
<td>W</td>
<td>Whether this entry represents a request to the DHCP server, or a value to be sent by the DHCP client.

<ul>
<li>When <em>true</em>, this entry represents a request. In this case, the DHCP client MUST include the specified <a href="#D.Device:1.Device.LAN.DHCPOption.Tag"><em>Tag</em></a> in the Parameter Request List, as defined in RFC 2132. The <a href="#D.Device:1.Device.LAN.DHCPOption.Value"><em>Value</em></a> parameter is ignored in this case.</li>
<li>When <em>false</em>, this entry represents a value to be sent by the DHCP client. In this case, the DHCP client MUST include a DHCP option formed from the <a href="#D.Device:1.Device.LAN.DHCPOption.Tag"><em>Tag</em></a> and <a href="#D.Device:1.Device.LAN.DHCPOption.Value"><em>Value</em></a> parameters (with the Length derived from the length of the <a href="#D.Device:1.Device.LAN.DHCPOption.Value"><em>Value</em></a> parameter).</li></ul></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.LAN.DHCPOption.Tag">Tag</span></td>
<td>unsignedInt(1:254)</td>
<td>W</td>
<td>Tag of the DHCP option as defined in RFC 2132.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.LAN.DHCPOption.Value">Value</span></td>
<td>base64(:255)</td>
<td>W</td>
<td>Base64 encoded octet string to be used as the Value of the DHCP option if <a href="#D.Device:1.Device.LAN.DHCPOption.Request"><em>Request</em></a> is <em>false</em>.</td>
<td><em>&lt;Empty&gt;</em></td>
<td>1.0</td></tr>
<tr class="object">
<td><span id="D.Device:1.Device.LAN.Stats.">Device.LAN.Stats.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object contains statistics for the default IP interface.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.LAN.Stats.ConnectionUpTime">ConnectionUpTime</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>The time in seconds that this IP interface has been connected.</p>

<ul>
<li>If the IP interface is using DHCP, this is the time that the DHCP client has been only in the Bound or Renewing states and the lower-layer interface has continuously maintained a link.</li>
<li>If the IP interface is using static addressing, this is the time that the lower-layer interface has continuously maintained a link.</li></ul>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.LAN.Stats.TotalBytesSent">TotalBytesSent</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Total number of IP payload bytes sent over this interface since the device was last restarted as specified in <a href="#D.Device:1.Device.DeviceInfo.UpTime"><em>DeviceInfo.UpTime</em></a>.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.LAN.Stats.TotalBytesReceived">TotalBytesReceived</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Total number of IP payload bytes received over this interface since the device was last restarted as specified in <a href="#D.Device:1.Device.DeviceInfo.UpTime"><em>DeviceInfo.UpTime</em></a>.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.LAN.Stats.TotalPacketsSent">TotalPacketsSent</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Total number of IP packets sent over this interface since the device was last restarted as specified in <a href="#D.Device:1.Device.DeviceInfo.UpTime"><em>DeviceInfo.UpTime</em></a>.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.LAN.Stats.TotalPacketsReceived">TotalPacketsReceived</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Total number of IP packets received over this interface since the device was last restarted as specified in <a href="#D.Device:1.Device.DeviceInfo.UpTime"><em>DeviceInfo.UpTime</em></a>.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.LAN.Stats.CurrentDayInterval">CurrentDayInterval</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Number of seconds since the beginning of the period used for collection of CurrentDay statistics.
The device MAY align the beginning of each CurrentDay interval with days in the UTC time zone, but does not need to do so.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.LAN.Stats.CurrentDayBytesSent">CurrentDayBytesSent</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Total number of IP payload bytes sent over this interface since the beginning of the current-day interval as specified by <a href="#D.Device:1.Device.LAN.Stats.CurrentDayInterval"><em>CurrentDayInterval</em></a>.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.LAN.Stats.CurrentDayBytesReceived">CurrentDayBytesReceived</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Total number of IP payload bytes received over this interface since the beginning of the current-day interval as specified by <a href="#D.Device:1.Device.LAN.Stats.CurrentDayInterval"><em>CurrentDayInterval</em></a>.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.LAN.Stats.CurrentDayPacketsSent">CurrentDayPacketsSent</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Total number of IP packets sent over this interface since the beginning of the current-day interval as specified by <a href="#D.Device:1.Device.LAN.Stats.CurrentDayInterval"><em>CurrentDayInterval</em></a>.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.LAN.Stats.CurrentDayPacketsReceived">CurrentDayPacketsReceived</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Total number of IP packets received over this interface since the beginning of the current-day interval as specified by <a href="#D.Device:1.Device.LAN.Stats.CurrentDayInterval"><em>CurrentDayInterval</em></a>.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.LAN.Stats.QuarterHourInterval">QuarterHourInterval</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Number of seconds since the beginning of the period used for collection of QuarterHour statistics.
The device MAY align the beginning of each QuarterHour interval with real-time quarter-hour intervals, but does not need to do so.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.LAN.Stats.QuarterHourBytesSent">QuarterHourBytesSent</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Total number of IP payload bytes sent over this interface since the beginning of the quarter-hour interval as specified by <a href="#D.Device:1.Device.LAN.Stats.QuarterHourInterval"><em>QuarterHourInterval</em></a>.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.LAN.Stats.QuarterHourBytesReceived">QuarterHourBytesReceived</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Total number of IP payload bytes received over this interface since the beginning of the quarter-hour interval as specified by <a href="#D.Device:1.Device.LAN.Stats.QuarterHourInterval"><em>QuarterHourInterval</em></a>.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.LAN.Stats.QuarterHourPacketsSent">QuarterHourPacketsSent</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Total number of IP packets sent over this interface since the beginning of the quarter-hour interval as specified by <a href="#D.Device:1.Device.LAN.Stats.QuarterHourInterval"><em>QuarterHourInterval</em></a>.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.LAN.Stats.QuarterHourPacketsReceived">QuarterHourPacketsReceived</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Total number of IP packets received over this interface since the beginning of the quarter-hour interval as specified by <a href="#D.Device:1.Device.LAN.Stats.QuarterHourInterval"><em>QuarterHourInterval</em></a>.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="object">
<td><span id="D.Device:1.Device.LAN.IPPingDiagnostics.">Device.LAN.IPPingDiagnostics.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object defines access to an IP-layer ping test for the default IP interface.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.LAN.IPPingDiagnostics.DiagnosticsState">DiagnosticsState</span></td>
<td>string</td>
<td>W</td>
<td><p>Indicates availability of diagnostic data. Enumeration of:</p>

<ul>
<li><span id="D.Device:1.Device.LAN.IPPingDiagnostics.DiagnosticsState.None"><em>None</em></span></li>
<li><span id="D.Device:1.Device.LAN.IPPingDiagnostics.DiagnosticsState.Requested"><em>Requested</em></span></li>
<li><span id="D.Device:1.Device.LAN.IPPingDiagnostics.DiagnosticsState.Complete"><em>Complete</em></span></li>
<li><span id="D.Device:1.Device.LAN.IPPingDiagnostics.DiagnosticsState.Error_CannotResolveHostName"><em>Error_CannotResolveHostName</em></span></li>
<li><span id="D.Device:1.Device.LAN.IPPingDiagnostics.DiagnosticsState.Error_Internal"><em>Error_Internal</em></span></li>
<li><span id="D.Device:1.Device.LAN.IPPingDiagnostics.DiagnosticsState.Error_Other"><em>Error_Other</em></span>
If the ACS sets the value of this parameter to <a href="#D.Device:1.Device.LAN.IPPingDiagnostics.DiagnosticsState.Requested"><em>Requested</em></a>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed value is <a href="#D.Device:1.Device.LAN.IPPingDiagnostics.DiagnosticsState.Requested"><em>Requested</em></a>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set either prior to or at the same time as (in the same SetParameterValues) setting the <em>DiagnosticsState</em> to <a href="#D.Device:1.Device.LAN.IPPingDiagnostics.DiagnosticsState.Requested"><em>Requested</em></a>.
When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic.
When the test is completed, the value of this parameter MUST be either <a href="#D.Device:1.Device.LAN.IPPingDiagnostics.DiagnosticsState.Complete"><em>Complete</em></a> (if the test completed successfully), or one of the <em>Error</em> values listed above.
If the value of this parameter is anything other than <a href="#D.Device:1.Device.LAN.IPPingDiagnostics.DiagnosticsState.Complete"><em>Complete</em></a>, the values of the results parameters for this test are indeterminate.
When the diagnostic initiated by the ACS is completed (successfully or not), the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code <em>8 DIAGNOSTICS COMPLETE</em> in the Inform message.
After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <a href="#D.Device:1.Device.LAN.IPPingDiagnostics.DiagnosticsState.None"><em>None</em></a>.
Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <a href="#D.Device:1.Device.LAN.IPPingDiagnostics.DiagnosticsState.None"><em>None</em></a>.
While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <a href="#D.Device:1.Device.LAN.IPPingDiagnostics.DiagnosticsState.None"><em>None</em></a>.
While the test is in progress, setting this parameter to <a href="#D.Device:1.Device.LAN.IPPingDiagnostics.DiagnosticsState.Requested"><em>Requested</em></a> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters.</li></ul>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.LAN.IPPingDiagnostics.Host">Host</span></td>
<td>string(:256)</td>
<td>W</td>
<td>Host name or address of the host to ping.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.LAN.IPPingDiagnostics.NumberOfRepetitions">NumberOfRepetitions</span></td>
<td>unsignedInt(1:)</td>
<td>W</td>
<td>Number of repetitions of the ping test to perform before reporting the results.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.LAN.IPPingDiagnostics.Timeout">Timeout</span></td>
<td>unsignedInt(1:)</td>
<td>W</td>
<td>Timeout in milliseconds for the ping test.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.LAN.IPPingDiagnostics.DataBlockSize">DataBlockSize</span></td>
<td>unsignedInt(1:65535)</td>
<td>W</td>
<td>Size of the data block in bytes to be sent for each ping.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.LAN.IPPingDiagnostics.DSCP">DSCP</span></td>
<td>unsignedInt(0:63)</td>
<td>W</td>
<td>DiffServ codepoint to be used for the test packets. By default the CPE SHOULD set this value to zero.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.LAN.IPPingDiagnostics.SuccessCount">SuccessCount</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Result parameter indicating the number of successful pings (those in which a successful response was received prior to the timeout) in the most recent ping test.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.LAN.IPPingDiagnostics.FailureCount">FailureCount</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Result parameter indicating the number of failed pings in the most recent ping test.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.LAN.IPPingDiagnostics.AverageResponseTime">AverageResponseTime</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Result parameter indicating the average response time in milliseconds over all repetitions with successful responses of the most recent ping test. If there were no successful responses, this value MUST be zero.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.LAN.IPPingDiagnostics.MinimumResponseTime">MinimumResponseTime</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Result parameter indicating the minimum response time in milliseconds over all repetitions with successful responses of the most recent ping test. If there were no successful responses, this value MUST be zero.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.LAN.IPPingDiagnostics.MaximumResponseTime">MaximumResponseTime</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Result parameter indicating the maximum response time in milliseconds over all repetitions with successful responses of the most recent ping test. If there were no successful responses, this value MUST be zero.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="object">
<td><span id="D.Device:1.Device.LAN.TraceRouteDiagnostics.">Device.LAN.TraceRouteDiagnostics.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object is defines access to an IP-layer trace-route test for the default IP interface.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.LAN.TraceRouteDiagnostics.DiagnosticsState">DiagnosticsState</span></td>
<td>string</td>
<td>W</td>
<td><p>Indicates availability of diagnostic data. Enumeration of:</p>

<ul>
<li><span id="D.Device:1.Device.LAN.TraceRouteDiagnostics.DiagnosticsState.None"><em>None</em></span></li>
<li><span id="D.Device:1.Device.LAN.TraceRouteDiagnostics.DiagnosticsState.Requested"><em>Requested</em></span></li>
<li><span id="D.Device:1.Device.LAN.TraceRouteDiagnostics.DiagnosticsState.Complete"><em>Complete</em></span></li>
<li><span id="D.Device:1.Device.LAN.TraceRouteDiagnostics.DiagnosticsState.Error_CannotResolveHostName"><em>Error_CannotResolveHostName</em></span></li>
<li><span id="D.Device:1.Device.LAN.TraceRouteDiagnostics.DiagnosticsState.Error_MaxHopCountExceeded"><em>Error_MaxHopCountExceeded</em></span></li>
<li><span id="D.Device:1.Device.LAN.TraceRouteDiagnostics.DiagnosticsState.Error_Internal"><em>Error_Internal</em></span></li>
<li><span id="D.Device:1.Device.LAN.TraceRouteDiagnostics.DiagnosticsState.Error_Other"><em>Error_Other</em></span>
If the ACS sets the value of this parameter to <a href="#D.Device:1.Device.LAN.TraceRouteDiagnostics.DiagnosticsState.Requested"><em>Requested</em></a>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed value is <a href="#D.Device:1.Device.LAN.TraceRouteDiagnostics.DiagnosticsState.Requested"><em>Requested</em></a>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set either prior to or at the same time as (in the same SetParameterValues) setting the <em>DiagnosticsState</em> to <a href="#D.Device:1.Device.LAN.TraceRouteDiagnostics.DiagnosticsState.Requested"><em>Requested</em></a>.
When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic.
When the test is completed, the value of this parameter MUST be either <a href="#D.Device:1.Device.LAN.TraceRouteDiagnostics.DiagnosticsState.Complete"><em>Complete</em></a> (if the test completed successfully), or one of the <em>Error</em> values listed above.
If the value of this parameter is anything other than <a href="#D.Device:1.Device.LAN.TraceRouteDiagnostics.DiagnosticsState.Complete"><em>Complete</em></a>, the values of the results parameters for this test are indeterminate.
When the diagnostic initiated by the ACS is completed (successfully or not), the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code <em>8 DIAGNOSTICS COMPLETE</em> in the Inform message.
After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <a href="#D.Device:1.Device.LAN.TraceRouteDiagnostics.DiagnosticsState.None"><em>None</em></a>.
Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <a href="#D.Device:1.Device.LAN.TraceRouteDiagnostics.DiagnosticsState.None"><em>None</em></a>.
While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <a href="#D.Device:1.Device.LAN.TraceRouteDiagnostics.DiagnosticsState.None"><em>None</em></a>.
While the test is in progress, setting this parameter to <a href="#D.Device:1.Device.LAN.TraceRouteDiagnostics.DiagnosticsState.Requested"><em>Requested</em></a> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters.</li></ul>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.LAN.TraceRouteDiagnostics.Host">Host</span></td>
<td>string(:256)</td>
<td>W</td>
<td>Host name or address of the host to find a route to.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.LAN.TraceRouteDiagnostics.Timeout">Timeout</span></td>
<td>unsignedInt(1:)</td>
<td>W</td>
<td>Timeout in milliseconds for the trace route test.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.LAN.TraceRouteDiagnostics.DataBlockSize">DataBlockSize</span></td>
<td>unsignedInt(1:65535)</td>
<td>W</td>
<td>Size of the data block in bytes to be sent for each trace route.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.LAN.TraceRouteDiagnostics.MaxHopCount">MaxHopCount</span></td>
<td>unsignedInt(1:64)</td>
<td>W</td>
<td>The maximum number of hop used in outgoing probe packets (max TTL). The default is 30 hops.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.LAN.TraceRouteDiagnostics.DSCP">DSCP</span></td>
<td>unsignedInt(0:63)</td>
<td>W</td>
<td>DiffServ codepoint to be used for the test packets. By default the CPE SHOULD set this value to zero.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.LAN.TraceRouteDiagnostics.ResponseTime">ResponseTime</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Result parameter indicating the response time in milliseconds the most recent trace route test. If a route could not be determined, this value MUST be zero.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.LAN.TraceRouteDiagnostics.NumberOfRouteHops">NumberOfRouteHops</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Result parameter indicating the number of hops within the discovered route. If a route could not be determined, this value MUST be zero.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="object">
<td><span id="D.Device:1.Device.LAN.TraceRouteDiagnostics.RouteHops.">Device.LAN.TraceRouteDiagnostics.RouteHops.{i}.</span></td>
<td><span title="object(0:∞)">object(0:)</span></td>
<td>R</td>
<td>Result parameter indicating the components of the discovered route. If a route could not be determined, there will be no instances of this object.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.LAN.TraceRouteDiagnostics.RouteHops.HopHost">HopHost</span></td>
<td>string(:256)</td>
<td>R</td>
<td><p>Result parameter indicating the Host Name or IP Address of a hop along the discovered route.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="object">
<td><span id="D.Device:1.Device.Capabilities.">Device.Capabilities.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>The capabilities of the device. This is a constant read-only object, meaning that only a firmware upgrade will cause these values to be altered.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="object">
<td><span id="D.Device:1.Device.Capabilities.PerformanceDiagnostic.">Device.Capabilities.PerformanceDiagnostic.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>The capabilities of the Performance Diagnostics (<em>DownloadDiagnostics</em> and <em>UploadDiagnostics</em>) for the device.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.Capabilities.PerformanceDiagnostic.DownloadTransports">DownloadTransports</span></td>
<td>string[]</td>
<td>R</td>
<td><p>Comma-separated list of strings. Supported <em>DownloadDiagnostics</em> transport protocols for a CPE device.</p>

<p>Each list item is an enumeration of:</p>

<ul>
<li><span id="D.Device:1.Device.Capabilities.PerformanceDiagnostic.DownloadTransports.HTTP"><em>HTTP</em></span></li>
<li><span id="D.Device:1.Device.Capabilities.PerformanceDiagnostic.DownloadTransports.FTP"><em>FTP</em></span> (OPTIONAL)</li></ul></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.Capabilities.PerformanceDiagnostic.UploadTransports">UploadTransports</span></td>
<td>string[]</td>
<td>R</td>
<td><p>Comma-separated list of strings. Supported <em>UploadDiagnostics</em> transport protocols for a CPE device.</p>

<p>Each list item is an enumeration of:</p>

<ul>
<li><span id="D.Device:1.Device.Capabilities.PerformanceDiagnostic.UploadTransports.HTTP"><em>HTTP</em></span></li>
<li><span id="D.Device:1.Device.Capabilities.PerformanceDiagnostic.UploadTransports.FTP"><em>FTP</em></span> (OPTIONAL)</li></ul></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="object">
<td><span id="D.Device:1.Device.DownloadDiagnostics.">Device.DownloadDiagnostics.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object defines the diagnostics configuration for a HTTP and FTP DownloadDiagnostics Test.
Files received in the DownloadDiagnostics do not require file storage on the CPE device.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.DownloadDiagnostics.DiagnosticsState">DiagnosticsState</span></td>
<td>string</td>
<td>W</td>
<td><p>Indicate the availability of diagnostic data. Enumeration of:</p>

<ul>
<li><span id="D.Device:1.Device.DownloadDiagnostics.DiagnosticsState.None"><em>None</em></span> (READONLY)</li>
<li><span id="D.Device:1.Device.DownloadDiagnostics.DiagnosticsState.Requested"><em>Requested</em></span></li>
<li><span id="D.Device:1.Device.DownloadDiagnostics.DiagnosticsState.Completed"><em>Completed</em></span> (READONLY)</li>
<li><span id="D.Device:1.Device.DownloadDiagnostics.DiagnosticsState.Error_InitConnectionFailed"><em>Error_InitConnectionFailed</em></span> (READONLY)</li>
<li><span id="D.Device:1.Device.DownloadDiagnostics.DiagnosticsState.Error_NoResponse"><em>Error_NoResponse</em></span> (READONLY)</li>
<li><span id="D.Device:1.Device.DownloadDiagnostics.DiagnosticsState.Error_TransferFailed"><em>Error_TransferFailed</em></span> (READONLY)</li>
<li><span id="D.Device:1.Device.DownloadDiagnostics.DiagnosticsState.Error_PasswordRequestFailed"><em>Error_PasswordRequestFailed</em></span> (READONLY)</li>
<li><span id="D.Device:1.Device.DownloadDiagnostics.DiagnosticsState.Error_LoginFailed"><em>Error_LoginFailed</em></span> (READONLY)</li>
<li><span id="D.Device:1.Device.DownloadDiagnostics.DiagnosticsState.Error_NoTransferMode"><em>Error_NoTransferMode</em></span> (READONLY)</li>
<li><span id="D.Device:1.Device.DownloadDiagnostics.DiagnosticsState.Error_NoPASV"><em>Error_NoPASV</em></span> (READONLY)</li>
<li><span id="D.Device:1.Device.DownloadDiagnostics.DiagnosticsState.Error_IncorrectSize"><em>Error_IncorrectSize</em></span> (READONLY)</li>
<li><span id="D.Device:1.Device.DownloadDiagnostics.DiagnosticsState.Error_Timeout"><em>Error_Timeout</em></span> (READONLY)
If the ACS sets the value of this parameter to <a href="#D.Device:1.Device.DownloadDiagnostics.DiagnosticsState.Requested"><em>Requested</em></a>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed value is <a href="#D.Device:1.Device.DownloadDiagnostics.DiagnosticsState.Requested"><em>Requested</em></a>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set either prior to or at the same time as (in the same SetParameterValues) setting the <em>DiagnosticsState</em> to <a href="#D.Device:1.Device.DownloadDiagnostics.DiagnosticsState.Requested"><em>Requested</em></a>.
When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic.
When the test is completed, the value of this parameter MUST be either <a href="#D.Device:1.Device.DownloadDiagnostics.DiagnosticsState.Completed"><em>Completed</em></a> (if the test completed successfully), or one of the <em>Error</em> values listed above.
If the value of this parameter is anything other than <a href="#D.Device:1.Device.DownloadDiagnostics.DiagnosticsState.Completed"><em>Completed</em></a>, the values of the results parameters for this test are indeterminate.
When the diagnostic initiated by the ACS is completed (successfully or not), the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code <em>8 DIAGNOSTICS COMPLETE</em> in the Inform message.
After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <a href="#D.Device:1.Device.DownloadDiagnostics.DiagnosticsState.None"><em>None</em></a>.
Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <a href="#D.Device:1.Device.DownloadDiagnostics.DiagnosticsState.None"><em>None</em></a>.
While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <a href="#D.Device:1.Device.DownloadDiagnostics.DiagnosticsState.None"><em>None</em></a>.
While the test is in progress, setting this parameter to Requested (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters.</li></ul>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.DownloadDiagnostics.Interface">Interface</span></td>
<td>string(:256)</td>
<td>W</td>
<td>The value MUST be the Path Name of the IP-layer interface over which the test is to be performed.
The value of this parameter MUST be either a valid interface or an empty string. An attempt to set this parameter to a different value MUST be rejected as an invalid parameter value.
If an empty string is specified, the CPE MUST use the default routing interface.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.DownloadDiagnostics.DownloadURL">DownloadURL</span></td>
<td>string(:256)</td>
<td>W</td>
<td>The URL, as defined in [<a href="#R.RFC3986">RFC3986</a>], for the CPE to perform the download on. This parameter MUST be in the form of a valid HTTP [<a href="#R.RFC2616">RFC2616</a>] or FTP [<a href="#R.RFC959">RFC959</a>] URL.

<ul>
<li>When using FTP transport, FTP binary transfer MUST be used.</li>
<li>When using HTTP transport, persistent connections MUST be used and pipelining MUST NOT be used.</li>
<li>When using HTTP transport the HTTP Authentication MUST NOT be used.</li></ul></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.DownloadDiagnostics.DSCP">DSCP</span></td>
<td>unsignedInt(0:63)</td>
<td>W</td>
<td>The DiffServ code point for marking packets transmitted in the test.
The default value SHOULD be zero.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.DownloadDiagnostics.EthernetPriority">EthernetPriority</span></td>
<td>unsignedInt(0:7)</td>
<td>W</td>
<td>Ethernet priority code for marking packets transmitted in the test (if applicable).
The default value SHOULD be zero.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.DownloadDiagnostics.ROMTime">ROMTime</span></td>
<td>dateTime</td>
<td>R</td>
<td><p>Request time in UTC, which MUST be specified to microsecond precision.
For example: 2008-04-09T15:01:05.123456</p>

<ul>
<li>For HTTP this is the time at which the client sends the GET command.</li>
<li>For FTP this is the time at which the client sends the RTRV command.</li></ul>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.DownloadDiagnostics.BOMTime">BOMTime</span></td>
<td>dateTime</td>
<td>R</td>
<td><p>Begin of transmission time in UTC, which MUST be specified to microsecond precision
For example: 2008-04-09T15:01:05.123456</p>

<ul>
<li>For HTTP this is the time at which the first data packet is received.</li>
<li>For FTP this is the time at which the client receives the first data packet on the data connection.</li></ul>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.DownloadDiagnostics.EOMTime">EOMTime</span></td>
<td>dateTime</td>
<td>R</td>
<td><p>End of transmission in UTC, which MUST be specified to microsecond precision.
For example: 2008-04-09T15:01:05.123456</p>

<ul>
<li>For HTTP this is the time at which the last data packet is received.</li>
<li>For FTP this is the time at which the client receives the last packet on the data connection.</li></ul>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.DownloadDiagnostics.TestBytesReceived">TestBytesReceived</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>The test traffic received in bytes during the FTP/HTTP transaction including FTP/HTTP headers, between <a href="#D.Device:1.Device.DownloadDiagnostics.BOMTime"><em>BOMTime</em></a> and <a href="#D.Device:1.Device.DownloadDiagnostics.EOMTime"><em>EOMTime</em></a>,</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.DownloadDiagnostics.TotalBytesReceived">TotalBytesReceived</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>The total number of bytes received on the Interface between <a href="#D.Device:1.Device.DownloadDiagnostics.BOMTime"><em>BOMTime</em></a> and <a href="#D.Device:1.Device.DownloadDiagnostics.EOMTime"><em>EOMTime</em></a>.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.DownloadDiagnostics.TCPOpenRequestTime">TCPOpenRequestTime</span></td>
<td>dateTime</td>
<td>R</td>
<td><p>Request time in UTC, which MUST be specified to microsecond precision.
For example: 2008-04-09T15:01:05.123456</p>

<ul>
<li>For HTTP this is the time at which the TCP socket open (SYN) was sent for the HTTP connection.</li>
<li>For FTP this is the time at which the TCP socket open (SYN) was sent for the data connection.
Note: Interval of 1 microsecond SHOULD be supported.</li></ul>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.DownloadDiagnostics.TCPOpenResponseTime">TCPOpenResponseTime</span></td>
<td>dateTime</td>
<td>R</td>
<td><p>Response time in UTC, which MUST be specified to microsecond precision.
For example: 2008-04-09T15:01:05.123456</p>

<ul>
<li>For HTTP this is the time at which the TCP ACK to the socket opening the HTTP connection was received.</li>
<li>For FTP this is the time at which the TCP ACK to the socket opening the data connection was received.
Note: Interval of 1 microsecond SHOULD be supported.</li></ul>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="object">
<td><span id="D.Device:1.Device.UploadDiagnostics.">Device.UploadDiagnostics.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object defines the diagnostics configuration for a HTTP or FTP UploadDiagnostics test.
Files sent by the UploadDiagnostics do not require file storage on the CPE device, and MAY be an arbitrary stream of bytes.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.UploadDiagnostics.DiagnosticsState">DiagnosticsState</span></td>
<td>string</td>
<td>W</td>
<td><p>Indicate the availability of diagnostic data. Enumeration of:</p>

<ul>
<li><span id="D.Device:1.Device.UploadDiagnostics.DiagnosticsState.None"><em>None</em></span> (READONLY)</li>
<li><span id="D.Device:1.Device.UploadDiagnostics.DiagnosticsState.Requested"><em>Requested</em></span></li>
<li><span id="D.Device:1.Device.UploadDiagnostics.DiagnosticsState.Completed"><em>Completed</em></span> (READONLY)</li>
<li><span id="D.Device:1.Device.UploadDiagnostics.DiagnosticsState.Error_InitConnectionFailed"><em>Error_InitConnectionFailed</em></span> (READONLY)</li>
<li><span id="D.Device:1.Device.UploadDiagnostics.DiagnosticsState.Error_NoResponse"><em>Error_NoResponse</em></span> (READONLY)</li>
<li><span id="D.Device:1.Device.UploadDiagnostics.DiagnosticsState.Error_PasswordRequestFailed"><em>Error_PasswordRequestFailed</em></span> (READONLY)</li>
<li><span id="D.Device:1.Device.UploadDiagnostics.DiagnosticsState.Error_LoginFailed"><em>Error_LoginFailed</em></span> (READONLY)</li>
<li><span id="D.Device:1.Device.UploadDiagnostics.DiagnosticsState.Error_NoTransferMode"><em>Error_NoTransferMode</em></span> (READONLY)</li>
<li><span id="D.Device:1.Device.UploadDiagnostics.DiagnosticsState.Error_NoPASV"><em>Error_NoPASV</em></span> (READONLY)</li>
<li><span id="D.Device:1.Device.UploadDiagnostics.DiagnosticsState.Error_NoCWD"><em>Error_NoCWD</em></span> (READONLY)</li>
<li><span id="D.Device:1.Device.UploadDiagnostics.DiagnosticsState.Error_NoSTOR"><em>Error_NoSTOR</em></span> (READONLY)</li>
<li><span id="D.Device:1.Device.UploadDiagnostics.DiagnosticsState.Error_NoTransferComplete"><em>Error_NoTransferComplete</em></span> (READONLY)
If the ACS sets the value of this parameter to <a href="#D.Device:1.Device.UploadDiagnostics.DiagnosticsState.Requested"><em>Requested</em></a>, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed value is <a href="#D.Device:1.Device.UploadDiagnostics.DiagnosticsState.Requested"><em>Requested</em></a>. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set either prior to or at the same time as (in the same SetParameterValues) setting the <em>DiagnosticsState</em> to <a href="#D.Device:1.Device.UploadDiagnostics.DiagnosticsState.Requested"><em>Requested</em></a>.
When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic.
When the test is completed, the value of this parameter MUST be either <a href="#D.Device:1.Device.UploadDiagnostics.DiagnosticsState.Completed"><em>Completed</em></a> (if the test completed successfully), or one of the <em>Error</em> values listed above.
If the value of this parameter is anything other than <a href="#D.Device:1.Device.UploadDiagnostics.DiagnosticsState.Completed"><em>Completed</em></a>, the values of the results parameters for this test are indeterminate.
When the diagnostic initiated by the ACS is completed (successfully or not), the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code <em>8 DIAGNOSTICS COMPLETE</em> in the Inform message.
After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to <a href="#D.Device:1.Device.UploadDiagnostics.DiagnosticsState.None"><em>None</em></a>.
Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to <a href="#D.Device:1.Device.UploadDiagnostics.DiagnosticsState.None"><em>None</em></a>.
While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to <a href="#D.Device:1.Device.UploadDiagnostics.DiagnosticsState.None"><em>None</em></a>.
While the test is in progress, setting this parameter to <a href="#D.Device:1.Device.UploadDiagnostics.DiagnosticsState.Requested"><em>Requested</em></a> (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters.</li></ul>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.UploadDiagnostics.Interface">Interface</span></td>
<td>string(:256)</td>
<td>W</td>
<td>The value MUST be the Path Name of the IP-layer interface over which the test is to be performed.
The value of this parameter MUST be either a valid interface or an empty string. An attempt to set this parameter to a different value MUST be rejected as an invalid parameter value.
If an empty string is specified, the CPE MUST use the default routing interface.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.UploadDiagnostics.UploadURL">UploadURL</span></td>
<td>string(:256)</td>
<td>W</td>
<td>The URL, as defined in [<a href="#R.RFC3986">RFC3986</a>], for the CPE to Upload to. This parameter MUST be in the form of a valid HTTP [<a href="#R.RFC2616">RFC2616</a>] or FTP [<a href="#R.RFC959">RFC959</a>] URL.

<ul>
<li>When using FTP transport, FTP binary transfer MUST be used.</li>
<li>When using HTTP transport, persistent connections MUST be used and pipelining MUST NOT be used.</li>
<li>When using HTTP transport the HTTP Authentication MUST NOT be used.</li></ul></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.UploadDiagnostics.DSCP">DSCP</span></td>
<td>unsignedInt(0:63)</td>
<td>W</td>
<td>DiffServ code point for marking packets transmitted in the test.
The default value SHOULD be zero.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.UploadDiagnostics.EthernetPriority">EthernetPriority</span></td>
<td>unsignedInt(0:7)</td>
<td>W</td>
<td>Ethernet priority code for marking packets transmitted in the test (if applicable).
The default value SHOULD be zero.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.UploadDiagnostics.TestFileLength">TestFileLength</span></td>
<td>unsignedInt</td>
<td>W</td>
<td>The size of the file (in bytes) to be uploaded to the server.
The CPE MUST insure the appropriate number of bytes are sent.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.UploadDiagnostics.ROMTime">ROMTime</span></td>
<td>dateTime</td>
<td>R</td>
<td><p>Request time in UTC, which MUST be specified to microsecond precision.
For example: 2008-04-09T15:01:05.123456</p>

<ul>
<li>For HTTP this is the time at which the client sends the PUT command</li>
<li>For FTP this is the time at which the STOR command is sent.</li></ul>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.UploadDiagnostics.BOMTime">BOMTime</span></td>
<td>dateTime</td>
<td>R</td>
<td><p>Begin of transmission time in UTC, which MUST be specified to microsecond precision.
For example: 2008-04-09T15:01:05.123456</p>

<ul>
<li>For HTTP this is the time at which the first data packet is sent.</li>
<li>For FTP this is the time at which the client receives the ready for transfer notification.</li></ul>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.UploadDiagnostics.EOMTime">EOMTime</span></td>
<td>dateTime</td>
<td>R</td>
<td><p>End of transmission in UTC, which MUST be specified to microsecond precision.
For example: 2008-04-09T15:01:05.123456</p>

<ul>
<li>For HTTP this is the time when the HTTP successful response code is received.</li>
<li>For FTP this is the time when the client receives a transfer complete.</li></ul>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.UploadDiagnostics.TotalBytesSent">TotalBytesSent</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>The total number of bytes sent on the Interface between <a href="#D.Device:1.Device.UploadDiagnostics.BOMTime"><em>BOMTime</em></a> and <a href="#D.Device:1.Device.UploadDiagnostics.EOMTime"><em>EOMTime</em></a>.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.UploadDiagnostics.TCPOpenRequestTime">TCPOpenRequestTime</span></td>
<td>dateTime</td>
<td>R</td>
<td><p>Request time in UTC, which MUST be specified to microsecond precision.
For example: 2008-04-09T15:01:05.123456</p>

<ul>
<li>For HTTP this is the time at which the TCP socket open (SYN) was sent for the HTTP connection.</li>
<li>For FTP this is the time at which the TCP socket open (SYN) was sent for the data connection
Note: Interval of 1 microsecond SHOULD be supported.</li></ul>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.UploadDiagnostics.TCPOpenResponseTime">TCPOpenResponseTime</span></td>
<td>dateTime</td>
<td>R</td>
<td><p>Response time in UTC, which MUST be specified to microsecond precision.
For example: 2008-04-09T15:01:05.123456</p>

<ul>
<li>For HTTP this is the Time at which the TCP ACK to the socket opening the HTTP connection was received.</li>
<li>For FTP this is the Time at which the TCP ACK to the socket opening the Data connection was received.
Note: Interval of 1 microsecond SHOULD be supported.</li></ul>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="object">
<td><span id="D.Device:1.Device.UDPEchoConfig.">Device.UDPEchoConfig.</span></td>
<td><span title="object">object</span></td>
<td>R</td>
<td>This object allows the CPE to be configured to perform the UDP Echo Service defined in [<a href="#R.RFC862">RFC862</a>] and UDP Echo Plus Service defined in [<a href="#R.TR-143">Appendix A.1/TR-143</a>].</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.UDPEchoConfig.Enable">Enable</span></td>
<td>boolean</td>
<td>W</td>
<td>MUST be enabled to receive UDP echo. When enabled from a disabled state all related timestamps, statistics and UDP Echo Plus counters are cleared.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.UDPEchoConfig.Interface">Interface</span></td>
<td>string(:256)</td>
<td>W</td>
<td>The value MUST be the Path Name of IP-layer interface over which the CPE MUST listen and receive UDP echo requests on.
The value of this parameter MUST be either a valid interface or an empty string. An attempt to set this parameter to a different value MUST be rejected as an invalid parameter value.
If an empty string is specified, the CPE MUST listen and receive UDP echo requests on all interfaces.
Note: Interfaces behind a NAT MAY require port forwarding rules configured in the Gateway to enable receiving the UDP packets.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.UDPEchoConfig.SourceIPAddress">SourceIPAddress</span></td>
<td><span title="IPAddress">string(:45)</span></td>
<td>W</td>
<td>[<a href="#T.IPAddress">IPAddress</a>] The Source IP address of the UDP echo packet. The CPE MUST only respond to a UDP echo from this source IP address.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.UDPEchoConfig.UDPPort">UDPPort</span></td>
<td>unsignedInt</td>
<td>W</td>
<td>The UDP port on which the UDP server MUST listen and respond to UDP echo requests.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.UDPEchoConfig.EchoPlusEnabled">EchoPlusEnabled</span></td>
<td>boolean</td>
<td>W</td>
<td>If <em>true</em> the CPE will perform necessary packet processing for UDP Echo Plus packets.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.UDPEchoConfig.EchoPlusSupported">EchoPlusSupported</span></td>
<td>boolean</td>
<td>R</td>
<td><em>true</em> if UDP Echo Plus is supported.</td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.UDPEchoConfig.PacketsReceived">PacketsReceived</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Incremented upon each valid UDP echo packet received.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.UDPEchoConfig.PacketsResponded">PacketsResponded</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>Incremented for each UDP echo response sent.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.UDPEchoConfig.BytesReceived">BytesReceived</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>The number of UDP received bytes including payload and UDP header after the UDPEchoConfig is enabled.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.UDPEchoConfig.BytesResponded">BytesResponded</span></td>
<td>unsignedInt</td>
<td>R</td>
<td><p>The number of UDP responded bytes, including payload and UDP header sent after the UDPEchoConfig is enabled.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.UDPEchoConfig.TimeFirstPacketReceived">TimeFirstPacketReceived</span></td>
<td>dateTime</td>
<td>R</td>
<td><p>Time in UTC, which MUST be specified to microsecond precision.
For example: 2008-04-09T15:01:05.123456,
The time that the server receives the first UDP echo packet after the UDPEchoConfig is enabled.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>1.0</td></tr>
<tr class="parameter">
<td><span id="D.Device:1.Device.UDPEchoConfig.TimeLastPacketReceived">TimeLastPacketReceived</span></td>
<td>dateTime</td>
<td>R</td>
<td><p>Time in UTC, which MUST be specified to microsecond precision.
For example: 2008-04-09T15:01:05.123456
The time that the server receives the most recent UDP echo packet.</p>

<p>Active Notification requests for this parameter MAY be denied.</p></td>
<td>-</td>
<td>1.0</td></tr></tbody></table>

<h2 id="inform-and-notification-requirements">Inform and Notification Requirements</h2>

<h3 id="forced-inform-parameters">Forced Inform Parameters</h3>

<table class="middle-width partial-border">
<thead>
<tr>
<th>Parameter</th></tr></thead>
<tbody>
<tr class="parameter">
<td><a href="#D.Device:1.Device.DeviceSummary">Device.DeviceSummary</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.DeviceInfo.HardwareVersion">Device.DeviceInfo.HardwareVersion</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.DeviceInfo.SoftwareVersion">Device.DeviceInfo.SoftwareVersion</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.ManagementServer.ParameterKey">Device.ManagementServer.ParameterKey</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.ManagementServer.ConnectionRequestURL">Device.ManagementServer.ConnectionRequestURL</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.IPAddress">Device.LAN.IPAddress</a></td></tr></tbody></table>

<h3 id="parameters-for-which-active-notification-may-be-denied">Parameters for which Active Notification MAY be Denied</h3>

<table class="middle-width partial-border">
<thead>
<tr>
<th>Parameter</th></tr></thead>
<tbody>
<tr class="object">
<td><a href="#D.Device:1.Device.DeviceInfo.">Device.DeviceInfo.</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.DeviceInfo.ModelName">ModelName</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.DeviceInfo.Description">Description</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.DeviceInfo.UpTime">UpTime</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.DeviceInfo.FirstUseDate">FirstUseDate</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.DeviceInfo.DeviceLog">DeviceLog</a></td></tr>
<tr class="object">
<td><a href="#D.Device:1.Device.ManagementServer.">Device.ManagementServer.</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.ManagementServer.ParameterKey">ParameterKey</a></td></tr>
<tr class="object">
<td><a href="#D.Device:1.Device.Time.">Device.Time.</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.Time.CurrentLocalTime">CurrentLocalTime</a></td></tr>
<tr class="object">
<td><a href="#D.Device:1.Device.LAN.Stats.">Device.LAN.Stats.</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.Stats.ConnectionUpTime">ConnectionUpTime</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.Stats.TotalBytesSent">TotalBytesSent</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.Stats.TotalBytesReceived">TotalBytesReceived</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.Stats.TotalPacketsSent">TotalPacketsSent</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.Stats.TotalPacketsReceived">TotalPacketsReceived</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.Stats.CurrentDayInterval">CurrentDayInterval</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.Stats.CurrentDayBytesSent">CurrentDayBytesSent</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.Stats.CurrentDayBytesReceived">CurrentDayBytesReceived</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.Stats.CurrentDayPacketsSent">CurrentDayPacketsSent</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.Stats.CurrentDayPacketsReceived">CurrentDayPacketsReceived</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.Stats.QuarterHourInterval">QuarterHourInterval</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.Stats.QuarterHourBytesSent">QuarterHourBytesSent</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.Stats.QuarterHourBytesReceived">QuarterHourBytesReceived</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.Stats.QuarterHourPacketsSent">QuarterHourPacketsSent</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.Stats.QuarterHourPacketsReceived">QuarterHourPacketsReceived</a></td></tr>
<tr class="object">
<td><a href="#D.Device:1.Device.LAN.IPPingDiagnostics.">Device.LAN.IPPingDiagnostics.</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.IPPingDiagnostics.DiagnosticsState">DiagnosticsState</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.IPPingDiagnostics.SuccessCount">SuccessCount</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.IPPingDiagnostics.FailureCount">FailureCount</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.IPPingDiagnostics.AverageResponseTime">AverageResponseTime</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.IPPingDiagnostics.MinimumResponseTime">MinimumResponseTime</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.IPPingDiagnostics.MaximumResponseTime">MaximumResponseTime</a></td></tr>
<tr class="object">
<td><a href="#D.Device:1.Device.LAN.TraceRouteDiagnostics.">Device.LAN.TraceRouteDiagnostics.</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.TraceRouteDiagnostics.DiagnosticsState">DiagnosticsState</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.TraceRouteDiagnostics.ResponseTime">ResponseTime</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.TraceRouteDiagnostics.NumberOfRouteHops">NumberOfRouteHops</a></td></tr>
<tr class="object">
<td><a href="#D.Device:1.Device.LAN.TraceRouteDiagnostics.RouteHops.">Device.LAN.TraceRouteDiagnostics.RouteHops.{i}.</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.TraceRouteDiagnostics.RouteHops.HopHost">HopHost</a></td></tr>
<tr class="object">
<td><a href="#D.Device:1.Device.DownloadDiagnostics.">Device.DownloadDiagnostics.</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.DownloadDiagnostics.DiagnosticsState">DiagnosticsState</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.DownloadDiagnostics.ROMTime">ROMTime</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.DownloadDiagnostics.BOMTime">BOMTime</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.DownloadDiagnostics.EOMTime">EOMTime</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.DownloadDiagnostics.TestBytesReceived">TestBytesReceived</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.DownloadDiagnostics.TotalBytesReceived">TotalBytesReceived</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.DownloadDiagnostics.TCPOpenRequestTime">TCPOpenRequestTime</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.DownloadDiagnostics.TCPOpenResponseTime">TCPOpenResponseTime</a></td></tr>
<tr class="object">
<td><a href="#D.Device:1.Device.UploadDiagnostics.">Device.UploadDiagnostics.</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.UploadDiagnostics.DiagnosticsState">DiagnosticsState</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.UploadDiagnostics.ROMTime">ROMTime</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.UploadDiagnostics.BOMTime">BOMTime</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.UploadDiagnostics.EOMTime">EOMTime</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.UploadDiagnostics.TotalBytesSent">TotalBytesSent</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.UploadDiagnostics.TCPOpenRequestTime">TCPOpenRequestTime</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.UploadDiagnostics.TCPOpenResponseTime">TCPOpenResponseTime</a></td></tr>
<tr class="object">
<td><a href="#D.Device:1.Device.UDPEchoConfig.">Device.UDPEchoConfig.</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.UDPEchoConfig.PacketsReceived">PacketsReceived</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.UDPEchoConfig.PacketsResponded">PacketsResponded</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.UDPEchoConfig.BytesReceived">BytesReceived</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.UDPEchoConfig.BytesResponded">BytesResponded</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.UDPEchoConfig.TimeFirstPacketReceived">TimeFirstPacketReceived</a></td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.UDPEchoConfig.TimeLastPacketReceived">TimeLastPacketReceived</a></td></tr></tbody></table>

<h2 id="profile-definitions">Profile Definitions</h2>

<h3 id="notation">Notation</h3>

<p>The following abbreviations are used to specify profile requirements:</p>

<table class="middle-width partial-border profile-notation-table">
<thead>
<tr>
<th>Abbreviation</th>
<th>Description</th></tr></thead>
<tbody>
<tr>
<td>R</td>
<td>Read support is REQUIRED.</td></tr>
<tr>
<td>W</td>
<td>Both Read and Write support is REQUIRED. This MUST NOT be specified for a parameter that is defined as read-only.</td></tr>
<tr>
<td>P</td>
<td>The object is REQUIRED to be present.</td></tr>
<tr>
<td>C</td>
<td>Creation and deletion of instances of the object is REQUIRED.</td></tr>
<tr>
<td>A</td>
<td>Creation of instances of the object is REQUIRED, but deletion is not REQUIRED.</td></tr>
<tr>
<td>D</td>
<td>Deletion of instances of the object is REQUIRED, but creation is not REQUIRED.</td></tr></tbody></table>

<h3 id="P.Device:1.Baseline:1">Baseline:1 Profile</h3>

<p>This table defines the <em>Baseline:1</em> profile for the <em>Device:1</em> data model.
The minimum REQUIRED version for this profile is Device:1.0.</p>

<table class="middle-width partial-border profile-requirements-table">
<colgroup>
<col style="width: 90.0%;"></col>
<col style="width: 10.0%;"></col></colgroup>
<thead>
<tr>
<th>Name</th>
<th>Requirement</th></tr></thead>
<tbody>
<tr class="object">
<td><a href="#D.Device:1.Device.">Device.</a></td>
<td>P</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.DeviceSummary">DeviceSummary</a></td>
<td>R</td></tr>
<tr class="object">
<td><a href="#D.Device:1.Device.DeviceInfo.">Device.DeviceInfo.</a></td>
<td>P</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.DeviceInfo.Manufacturer">Manufacturer</a></td>
<td>R</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.DeviceInfo.ManufacturerOUI">ManufacturerOUI</a></td>
<td>R</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.DeviceInfo.ModelName">ModelName</a></td>
<td>R</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.DeviceInfo.Description">Description</a></td>
<td>R</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.DeviceInfo.SerialNumber">SerialNumber</a></td>
<td>R</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.DeviceInfo.HardwareVersion">HardwareVersion</a></td>
<td>R</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.DeviceInfo.SoftwareVersion">SoftwareVersion</a></td>
<td>R</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.DeviceInfo.DeviceStatus">DeviceStatus</a></td>
<td>R</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.DeviceInfo.UpTime">UpTime</a></td>
<td>R</td></tr>
<tr class="object">
<td><a href="#D.Device:1.Device.ManagementServer.">Device.ManagementServer.</a></td>
<td>P</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.ManagementServer.URL">URL</a></td>
<td>W</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.ManagementServer.Username">Username</a></td>
<td>W</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.ManagementServer.Password">Password</a></td>
<td>W</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.ManagementServer.PeriodicInformEnable">PeriodicInformEnable</a></td>
<td>W</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.ManagementServer.PeriodicInformInterval">PeriodicInformInterval</a></td>
<td>W</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.ManagementServer.PeriodicInformTime">PeriodicInformTime</a></td>
<td>W</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.ManagementServer.ParameterKey">ParameterKey</a></td>
<td>R</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.ManagementServer.ConnectionRequestURL">ConnectionRequestURL</a></td>
<td>R</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.ManagementServer.ConnectionRequestUsername">ConnectionRequestUsername</a></td>
<td>W</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.ManagementServer.ConnectionRequestPassword">ConnectionRequestPassword</a></td>
<td>W</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.ManagementServer.UpgradesManaged">UpgradesManaged</a></td>
<td>W</td></tr></tbody></table>

<h3 id="P.Device:1.GatewayInfo:1">GatewayInfo:1 Profile</h3>

<p>This table defines the <em>GatewayInfo:1</em> profile for the <em>Device:1</em> data model.
The minimum REQUIRED version for this profile is Device:1.0.</p>

<table class="middle-width partial-border profile-requirements-table">
<colgroup>
<col style="width: 90.0%;"></col>
<col style="width: 10.0%;"></col></colgroup>
<thead>
<tr>
<th>Name</th>
<th>Requirement</th></tr></thead>
<tbody>
<tr class="object">
<td><a href="#D.Device:1.Device.GatewayInfo.">Device.GatewayInfo.</a></td>
<td>P</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.GatewayInfo.ManufacturerOUI">ManufacturerOUI</a></td>
<td>R</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.GatewayInfo.ProductClass">ProductClass</a></td>
<td>R</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.GatewayInfo.SerialNumber">SerialNumber</a></td>
<td>R</td></tr></tbody></table>

<h3 id="P.Device:1.Time:1">Time:1 Profile</h3>

<p>This table defines the <em>Time:1</em> profile for the <em>Device:1</em> data model.
The minimum REQUIRED version for this profile is Device:1.0.</p>

<table class="middle-width partial-border profile-requirements-table">
<colgroup>
<col style="width: 90.0%;"></col>
<col style="width: 10.0%;"></col></colgroup>
<thead>
<tr>
<th>Name</th>
<th>Requirement</th></tr></thead>
<tbody>
<tr class="object">
<td><a href="#D.Device:1.Device.Time.">Device.Time.</a></td>
<td>P</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.Time.NTPServer1">NTPServer1</a></td>
<td>W</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.Time.NTPServer2">NTPServer2</a></td>
<td>W</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.Time.CurrentLocalTime">CurrentLocalTime</a></td>
<td>R</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.Time.LocalTimeZone">LocalTimeZone</a></td>
<td>W</td></tr></tbody></table>

<h3 id="P.Device:1.LAN:1">LAN:1 Profile</h3>

<p>This table defines the <em>LAN:1</em> profile for the <em>Device:1</em> data model.
The minimum REQUIRED version for this profile is Device:1.0.</p>

<table class="middle-width partial-border profile-requirements-table">
<colgroup>
<col style="width: 90.0%;"></col>
<col style="width: 10.0%;"></col></colgroup>
<thead>
<tr>
<th>Name</th>
<th>Requirement</th></tr></thead>
<tbody>
<tr class="object">
<td><a href="#D.Device:1.Device.LAN.">Device.LAN.</a></td>
<td>P</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.AddressingType">AddressingType</a></td>
<td>R</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.IPAddress">IPAddress</a></td>
<td>R</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.SubnetMask">SubnetMask</a></td>
<td>R</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.DefaultGateway">DefaultGateway</a></td>
<td>R</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.DNSServers">DNSServers</a></td>
<td>R</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.MACAddress">MACAddress</a></td>
<td>R</td></tr>
<tr class="object">
<td><a href="#D.Device:1.Device.LAN.Stats.">Device.LAN.Stats.</a></td>
<td>P</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.Stats.ConnectionUpTime">ConnectionUpTime</a></td>
<td>R</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.Stats.TotalBytesSent">TotalBytesSent</a></td>
<td>R</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.Stats.TotalBytesReceived">TotalBytesReceived</a></td>
<td>R</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.Stats.TotalPacketsSent">TotalPacketsSent</a></td>
<td>R</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.Stats.TotalPacketsReceived">TotalPacketsReceived</a></td>
<td>R</td></tr></tbody></table>

<h3 id="P.Device:1.IPPing:1">IPPing:1 Profile</h3>

<p>This table defines the <em>IPPing:1</em> profile for the <em>Device:1</em> data model.
The minimum REQUIRED version for this profile is Device:1.0.</p>

<table class="middle-width partial-border profile-requirements-table">
<colgroup>
<col style="width: 90.0%;"></col>
<col style="width: 10.0%;"></col></colgroup>
<thead>
<tr>
<th>Name</th>
<th>Requirement</th></tr></thead>
<tbody>
<tr class="object">
<td><a href="#D.Device:1.Device.LAN.IPPingDiagnostics.">Device.LAN.IPPingDiagnostics.</a></td>
<td>P</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.IPPingDiagnostics.DiagnosticsState">DiagnosticsState</a></td>
<td>W</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.IPPingDiagnostics.Host">Host</a></td>
<td>W</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.IPPingDiagnostics.NumberOfRepetitions">NumberOfRepetitions</a></td>
<td>W</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.IPPingDiagnostics.Timeout">Timeout</a></td>
<td>W</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.IPPingDiagnostics.DataBlockSize">DataBlockSize</a></td>
<td>W</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.IPPingDiagnostics.DSCP">DSCP</a></td>
<td>W</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.IPPingDiagnostics.SuccessCount">SuccessCount</a></td>
<td>R</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.IPPingDiagnostics.FailureCount">FailureCount</a></td>
<td>R</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.IPPingDiagnostics.AverageResponseTime">AverageResponseTime</a></td>
<td>R</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.IPPingDiagnostics.MinimumResponseTime">MinimumResponseTime</a></td>
<td>R</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.IPPingDiagnostics.MaximumResponseTime">MaximumResponseTime</a></td>
<td>R</td></tr></tbody></table>

<h3 id="P.Device:1.TraceRoute:1">TraceRoute:1 Profile</h3>

<p>This table defines the <em>TraceRoute:1</em> profile for the <em>Device:1</em> data model.
The minimum REQUIRED version for this profile is Device:1.0.</p>

<table class="middle-width partial-border profile-requirements-table">
<colgroup>
<col style="width: 90.0%;"></col>
<col style="width: 10.0%;"></col></colgroup>
<thead>
<tr>
<th>Name</th>
<th>Requirement</th></tr></thead>
<tbody>
<tr class="object">
<td><a href="#D.Device:1.Device.LAN.TraceRouteDiagnostics.">Device.LAN.TraceRouteDiagnostics.</a></td>
<td>P</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.TraceRouteDiagnostics.DiagnosticsState">DiagnosticsState</a></td>
<td>W</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.TraceRouteDiagnostics.Host">Host</a></td>
<td>W</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.TraceRouteDiagnostics.Timeout">Timeout</a></td>
<td>W</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.TraceRouteDiagnostics.DataBlockSize">DataBlockSize</a></td>
<td>W</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.TraceRouteDiagnostics.MaxHopCount">MaxHopCount</a></td>
<td>W</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.TraceRouteDiagnostics.DSCP">DSCP</a></td>
<td>W</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.TraceRouteDiagnostics.ResponseTime">ResponseTime</a></td>
<td>R</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.TraceRouteDiagnostics.NumberOfRouteHops">NumberOfRouteHops</a></td>
<td>R</td></tr>
<tr class="object">
<td><a href="#D.Device:1.Device.LAN.TraceRouteDiagnostics.RouteHops.">Device.LAN.TraceRouteDiagnostics.RouteHops.{i}.</a></td>
<td>P</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.LAN.TraceRouteDiagnostics.RouteHops.HopHost">HopHost</a></td>
<td>R</td></tr></tbody></table>

<h3 id="P.Device:1.UDPConnReq:1">UDPConnReq:1 Profile</h3>

<p>This table defines the <em>UDPConnReq:1</em> profile for the <em>Device:1</em> data model.
The minimum REQUIRED version for this profile is Device:1.0.</p>

<table class="middle-width partial-border profile-requirements-table">
<colgroup>
<col style="width: 90.0%;"></col>
<col style="width: 10.0%;"></col></colgroup>
<thead>
<tr>
<th>Name</th>
<th>Requirement</th></tr></thead>
<tbody>
<tr class="object">
<td><a href="#D.Device:1.Device.ManagementServer.">Device.ManagementServer.</a></td>
<td>-</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.ManagementServer.UDPConnectionRequestAddress">UDPConnectionRequestAddress</a></td>
<td>R</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.ManagementServer.UDPConnectionRequestAddressNotificationLimit">UDPConnectionRequestAddressNotificationLimit</a></td>
<td>W</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.ManagementServer.STUNEnable">STUNEnable</a></td>
<td>W</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.ManagementServer.STUNServerAddress">STUNServerAddress</a></td>
<td>W</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.ManagementServer.STUNServerPort">STUNServerPort</a></td>
<td>W</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.ManagementServer.STUNUsername">STUNUsername</a></td>
<td>W</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.ManagementServer.STUNPassword">STUNPassword</a></td>
<td>W</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.ManagementServer.STUNMaximumKeepAlivePeriod">STUNMaximumKeepAlivePeriod</a></td>
<td>W</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.ManagementServer.STUNMinimumKeepAlivePeriod">STUNMinimumKeepAlivePeriod</a></td>
<td>W</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.ManagementServer.NATDetected">NATDetected</a></td>
<td>R</td></tr></tbody></table>

<h3 id="P.Device:1.Download:1">Download:1 Profile</h3>

<p>This table defines the <em>Download:1</em> profile for the <em>Device:1</em> data model.
The minimum REQUIRED version for this profile is Device:1.0.</p>

<table class="middle-width partial-border profile-requirements-table">
<colgroup>
<col style="width: 90.0%;"></col>
<col style="width: 10.0%;"></col></colgroup>
<thead>
<tr>
<th>Name</th>
<th>Requirement</th></tr></thead>
<tbody>
<tr class="object">
<td><a href="#D.Device:1.Device.Capabilities.PerformanceDiagnostic.">Device.Capabilities.PerformanceDiagnostic.</a></td>
<td>P</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.Capabilities.PerformanceDiagnostic.DownloadTransports">DownloadTransports</a></td>
<td>R</td></tr>
<tr class="object">
<td><a href="#D.Device:1.Device.DownloadDiagnostics.">Device.DownloadDiagnostics.</a></td>
<td>P</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.DownloadDiagnostics.DiagnosticsState">DiagnosticsState</a></td>
<td>W</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.DownloadDiagnostics.Interface">Interface</a></td>
<td>W</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.DownloadDiagnostics.DownloadURL">DownloadURL</a></td>
<td>W</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.DownloadDiagnostics.DSCP">DSCP</a></td>
<td>W</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.DownloadDiagnostics.EthernetPriority">EthernetPriority</a></td>
<td>W</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.DownloadDiagnostics.ROMTime">ROMTime</a></td>
<td>R</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.DownloadDiagnostics.BOMTime">BOMTime</a></td>
<td>R</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.DownloadDiagnostics.EOMTime">EOMTime</a></td>
<td>R</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.DownloadDiagnostics.TestBytesReceived">TestBytesReceived</a></td>
<td>R</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.DownloadDiagnostics.TotalBytesReceived">TotalBytesReceived</a></td>
<td>R</td></tr></tbody></table>

<h3 id="P.Device:1.DownloadTCP:1">DownloadTCP:1 Profile</h3>

<p>This table defines the <em>DownloadTCP:1</em> profile for the <em>Device:1</em> data model.
The minimum REQUIRED version for this profile is Device:1.0.</p>

<table class="middle-width partial-border profile-requirements-table">
<colgroup>
<col style="width: 90.0%;"></col>
<col style="width: 10.0%;"></col></colgroup>
<thead>
<tr>
<th>Name</th>
<th>Requirement</th></tr></thead>
<tbody>
<tr class="object">
<td><a href="#D.Device:1.Device.DownloadDiagnostics.">Device.DownloadDiagnostics.</a></td>
<td>P</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.DownloadDiagnostics.TCPOpenRequestTime">TCPOpenRequestTime</a></td>
<td>R</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.DownloadDiagnostics.TCPOpenResponseTime">TCPOpenResponseTime</a></td>
<td>R</td></tr></tbody></table>

<h3 id="P.Device:1.Upload:1">Upload:1 Profile</h3>

<p>This table defines the <em>Upload:1</em> profile for the <em>Device:1</em> data model.
The minimum REQUIRED version for this profile is Device:1.0.</p>

<table class="middle-width partial-border profile-requirements-table">
<colgroup>
<col style="width: 90.0%;"></col>
<col style="width: 10.0%;"></col></colgroup>
<thead>
<tr>
<th>Name</th>
<th>Requirement</th></tr></thead>
<tbody>
<tr class="object">
<td><a href="#D.Device:1.Device.Capabilities.PerformanceDiagnostic.">Device.Capabilities.PerformanceDiagnostic.</a></td>
<td>P</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.Capabilities.PerformanceDiagnostic.UploadTransports">UploadTransports</a></td>
<td>R</td></tr>
<tr class="object">
<td><a href="#D.Device:1.Device.UploadDiagnostics.">Device.UploadDiagnostics.</a></td>
<td>P</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.UploadDiagnostics.DiagnosticsState">DiagnosticsState</a></td>
<td>W</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.UploadDiagnostics.Interface">Interface</a></td>
<td>W</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.UploadDiagnostics.UploadURL">UploadURL</a></td>
<td>W</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.UploadDiagnostics.DSCP">DSCP</a></td>
<td>W</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.UploadDiagnostics.EthernetPriority">EthernetPriority</a></td>
<td>W</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.UploadDiagnostics.ROMTime">ROMTime</a></td>
<td>R</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.UploadDiagnostics.BOMTime">BOMTime</a></td>
<td>R</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.UploadDiagnostics.EOMTime">EOMTime</a></td>
<td>R</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.UploadDiagnostics.TestFileLength">TestFileLength</a></td>
<td>R</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.UploadDiagnostics.TotalBytesSent">TotalBytesSent</a></td>
<td>R</td></tr></tbody></table>

<h3 id="P.Device:1.UploadTCP:1">UploadTCP:1 Profile</h3>

<p>This table defines the <em>UploadTCP:1</em> profile for the <em>Device:1</em> data model.
The minimum REQUIRED version for this profile is Device:1.0.</p>

<table class="middle-width partial-border profile-requirements-table">
<colgroup>
<col style="width: 90.0%;"></col>
<col style="width: 10.0%;"></col></colgroup>
<thead>
<tr>
<th>Name</th>
<th>Requirement</th></tr></thead>
<tbody>
<tr class="object">
<td><a href="#D.Device:1.Device.UploadDiagnostics.">Device.UploadDiagnostics.</a></td>
<td>P</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.UploadDiagnostics.TCPOpenRequestTime">TCPOpenRequestTime</a></td>
<td>R</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.UploadDiagnostics.TCPOpenResponseTime">TCPOpenResponseTime</a></td>
<td>R</td></tr></tbody></table>

<h3 id="P.Device:1.UDPEcho:1">UDPEcho:1 Profile</h3>

<p>This table defines the <em>UDPEcho:1</em> profile for the <em>Device:1</em> data model.
The minimum REQUIRED version for this profile is Device:1.0.</p>

<table class="middle-width partial-border profile-requirements-table">
<colgroup>
<col style="width: 90.0%;"></col>
<col style="width: 10.0%;"></col></colgroup>
<thead>
<tr>
<th>Name</th>
<th>Requirement</th></tr></thead>
<tbody>
<tr class="object">
<td><a href="#D.Device:1.Device.UDPEchoConfig.">Device.UDPEchoConfig.</a></td>
<td>P</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.UDPEchoConfig.Enable">Enable</a></td>
<td>W</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.UDPEchoConfig.Interface">Interface</a></td>
<td>W</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.UDPEchoConfig.SourceIPAddress">SourceIPAddress</a></td>
<td>W</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.UDPEchoConfig.UDPPort">UDPPort</a></td>
<td>W</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.UDPEchoConfig.PacketsReceived">PacketsReceived</a></td>
<td>R</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.UDPEchoConfig.PacketsResponded">PacketsResponded</a></td>
<td>R</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.UDPEchoConfig.BytesReceived">BytesReceived</a></td>
<td>R</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.UDPEchoConfig.BytesResponded">BytesResponded</a></td>
<td>R</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.UDPEchoConfig.TimeFirstPacketReceived">TimeFirstPacketReceived</a></td>
<td>R</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.UDPEchoConfig.TimeLastPacketReceived">TimeLastPacketReceived</a></td>
<td>R</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.UDPEchoConfig.EchoPlusSupported">EchoPlusSupported</a></td>
<td>R</td></tr></tbody></table>

<h3 id="P.Device:1.UDPEchoPlus:1">UDPEchoPlus:1 Profile</h3>

<p>This table defines the <em>UDPEchoPlus:1</em> profile for the <em>Device:1</em> data model.
The minimum REQUIRED version for this profile is Device:1.0.</p>

<table class="middle-width partial-border profile-requirements-table">
<colgroup>
<col style="width: 90.0%;"></col>
<col style="width: 10.0%;"></col></colgroup>
<thead>
<tr>
<th>Name</th>
<th>Requirement</th></tr></thead>
<tbody>
<tr class="object">
<td><a href="#D.Device:1.Device.UDPEchoConfig.">Device.UDPEchoConfig.</a></td>
<td>P</td></tr>
<tr class="parameter">
<td><a href="#D.Device:1.Device.UDPEchoConfig.EchoPlusEnabled">EchoPlusEnabled</a></td>
<td>W</td></tr></tbody></table>

<hr/>

<p>Generated by <a href="https://www.broadband-forum.org">Broadband Forum</a> <a href="https://pypi.org/project/bbfreport">bbfreport</a> v2.2.0 (2024-07-23 version) on 2024-07-23 at 10:57:23 UTC.<br/>report.py –output <stdout> –format markdown tr-106-1-2-0.xml</p></div>

<div id="TOC"><h1 id="table-of-contents">Table of Contents</h1>

<ul class="collapsed expanded">
<li><a href="#data-types">Data Types</a></li>
<li><a href="#references">References</a></li>
<li><a href="#legend">Legend</a></li>
<li><span class="collapsible expandable"><a href="#device12-data-model">Device:1.2 Data Model</a></span>

<ul class="collapsed expanded">
<li><span class="collapsible expandable"><a href="#D.Device:1.Device.">Device.</a></span>

<ul class="collapsed expanded ordered">
<li><a href="#D.Device:1.Device.Services.">Services.</a></li>
<li><a href="#D.Device:1.Device.DeviceInfo.">DeviceInfo.</a></li>
<li><a href="#D.Device:1.Device.ManagementServer.">ManagementServer.</a></li>
<li><a href="#D.Device:1.Device.GatewayInfo.">GatewayInfo.</a></li>
<li><a href="#D.Device:1.Device.Config.">Config.</a></li>
<li><a href="#D.Device:1.Device.Time.">Time.</a></li>
<li><a href="#D.Device:1.Device.UserInterface.">UserInterface.</a></li>
<li><span class="expandable"><a href="#D.Device:1.Device.LAN.">LAN.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:1.Device.LAN.DHCPOption.">DHCPOption.{i}.</a></li>
<li><a href="#D.Device:1.Device.LAN.Stats.">Stats.</a></li>
<li><a href="#D.Device:1.Device.LAN.IPPingDiagnostics.">IPPingDiagnostics.</a></li>
<li><span class="expandable"><a href="#D.Device:1.Device.LAN.TraceRouteDiagnostics.">TraceRouteDiagnostics.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:1.Device.LAN.TraceRouteDiagnostics.RouteHops.">RouteHops.{i}.</a></li></ul></li></ul></li>
<li><span class="expandable"><a href="#D.Device:1.Device.Capabilities.">Capabilities.</a></span>

<ul class="collapsed">
<li><a href="#D.Device:1.Device.Capabilities.PerformanceDiagnostic.">PerformanceDiagnostic.</a></li></ul></li>
<li><a href="#D.Device:1.Device.DownloadDiagnostics.">DownloadDiagnostics.</a></li>
<li><a href="#D.Device:1.Device.UploadDiagnostics.">UploadDiagnostics.</a></li>
<li><a href="#D.Device:1.Device.UDPEchoConfig.">UDPEchoConfig.</a></li></ul></li>
<li><span class="expandable"><a href="#inform-and-notification-requirements">Inform and Notification Requirements</a></span>

<ul class="collapsed">
<li><a href="#forced-inform-parameters">Forced Inform Parameters</a></li>
<li><a href="#parameters-for-which-active-notification-may-be-denied">Parameters for which Active Notification MAY be Denied</a></li></ul></li>
<li><span class="expandable"><a href="#profile-definitions">Profile Definitions</a></span>

<ul class="collapsed ordered">
<li><a href="#notation">Notation</a></li>
<li><a href="#P.Device:1.Baseline:1">Baseline:1 Profile</a></li>
<li><a href="#P.Device:1.GatewayInfo:1">GatewayInfo:1 Profile</a></li>
<li><a href="#P.Device:1.Time:1">Time:1 Profile</a></li>
<li><a href="#P.Device:1.LAN:1">LAN:1 Profile</a></li>
<li><a href="#P.Device:1.IPPing:1">IPPing:1 Profile</a></li>
<li><a href="#P.Device:1.TraceRoute:1">TraceRoute:1 Profile</a></li>
<li><a href="#P.Device:1.UDPConnReq:1">UDPConnReq:1 Profile</a></li>
<li><a href="#P.Device:1.Download:1">Download:1 Profile</a></li>
<li><a href="#P.Device:1.DownloadTCP:1">DownloadTCP:1 Profile</a></li>
<li><a href="#P.Device:1.Upload:1">Upload:1 Profile</a></li>
<li><a href="#P.Device:1.UploadTCP:1">UploadTCP:1 Profile</a></li>
<li><a href="#P.Device:1.UDPEcho:1">UDPEcho:1 Profile</a></li>
<li><a href="#P.Device:1.UDPEchoPlus:1">UDPEchoPlus:1 Profile</a></li></ul></li></ul></li></ul></div>
</body>
</html>
